主鍵用于唯一標識表中每一行,不允許重復或為 null,而外鍵則用于建立表之間的關系,指向另一表的主鍵,并在主鍵行被刪除時根據(jù)指定的選項更新或刪除包含外鍵的行。
如何使用 SQL 設置主鍵和外鍵
主鍵
主鍵是表中唯一標識每行的列。
主鍵的值必須是唯一的,并且不能為 null。
每個表只能有一個主鍵。
設置主鍵
可以使用 PRIMARY KEY 約束來設置主鍵:
ALTER TABLE table_name ADD PRIMARY KEY (column_name);
登錄后復制
例如,在 customers 表中設置 customer_id 列為主鍵:
ALTER TABLE customers ADD PRIMARY KEY (customer_id);
登錄后復制
外鍵
外鍵是表中引用另一表主鍵的列。
外鍵的值必須與被引用表的相應主鍵值匹配。
外鍵可以用于建立表之間的關系。
設置外鍵
可以使用 FOREIGN KEY 約束來設置外鍵:
ALTER TABLE table_name ADD FOREIGN KEY (column_name) REFERENCES other_table_name (other_column_name);
登錄后復制
例如,在 orders 表中設置 customer_id 列為外鍵,引用 customers 表的 customer_id 主鍵:
ALTER TABLE orders ADD FOREIGN KEY (customer_id) REFERENCES customers (customer_id);
登錄后復制
外鍵約束選項
ON DELETE CASCADE:當被引用表中的主鍵行被刪除時,也會刪除包含外鍵行的所有行。
ON DELETE SET NULL:當被引用表中的主鍵行被刪除時,包含外鍵的行的外鍵值將被設置為 null。
ON DELETE RESTRICT:如果外鍵值與被引用表中已存在的行不匹配,則無法刪除被引用表中的主鍵行。






