資料

主鍵(primary key)

主鍵(primary key)是資料庫表格裡的一個欄,它的值能唯一地標識每一列——是你隨時都能精確指向某一筆記錄的那個穩定把手。就像學號或訂單號,它能毫不含糊地回答「你說的到底是哪一列?」。

兩條規則讓它與眾不同:它必須唯一(任何兩列都不能共用同一個值),而且永遠不能為空。資料庫本身會強制執行這一點,所以你不會一不小心弄出兩個都掛著 42 號的顧客。它往往就是資料庫替你自動遞增、每新增一列就發一個的普通編號。

為什麼非要它?因為名字和電子郵件會變、還可能多人共用,而主鍵是你唯一能指望永遠代表同一列的東西。當別的表格需要引用這一列時,指向的也正是它——是外鍵(foreign key)緊緊抓住的那個錨點。

CREATE TABLE users (
  id    INTEGER PRIMARY KEY,
  email TEXT NOT NULL
);

把一個欄標為 PRIMARY KEY,資料庫就保證每一列的 id 都存在且唯一。

一張表只有一個主鍵,但當沒有任何單獨的欄能唯一時,這個主鍵可以由幾個欄合在一起組成。

又稱
pkid columnunique identifier