sql 中外鍵是一種數據庫約束,確保子表記錄與主表相關記錄關聯。要設置外鍵,需要:1. 確定主表和子表;2. 選擇相應列作為父列和子列;3. 使用 alter table 語句創建外鍵約束,指定子列、主表、父列以及附加選項(如果需要)。例如,alter table 訂單 add foreign key (產品 id) references 產品(產品 id) on delete cascade on update cascade。
SQL 數據庫中設置外鍵
1. 什么是外鍵?
外鍵是一種數據庫約束,它用于確保子表中的記錄與主表中的相關記錄具有關聯性。它本質上將兩個表鏈接在一起,確保數據的完整性和一致性。
2. 如何設置外鍵?
在 SQL 中,使用 FOREIGN KEY 約束創建外鍵。以下步驟說明了如何:
確定主表和子表:確定包含父記錄的主表和包含子記錄的子表。
選擇相應列:在主表中選擇用于創建外鍵的列(稱為父列),在子表中選擇與父列相關聯的列(稱為子列)。
創建外鍵約束:使用以下語法在子表中創建外鍵約束:
ALTER TABLE 子表 ADD FOREIGN KEY (子列) REFERENCES 主表(父列)
登錄后復制
3. 附加選項
以下附加選項可用于自定義外鍵約束:
ON DELETE [動作]:指定在從主表中刪除記錄時子表中相應記錄的操作(例如,CASCADE、SET NULL、RESTRICT)。
ON UPDATE [動作]:指定在主表中更新記錄時子表中相應記錄的操作(例如,CASCADE、SET NULL、RESTRICT)。
NOT NULL:確保子列的值不能為 NULL。
4. 示例
以下示例在子表 訂單 中創建一個外鍵約束,該約束引用主表 產品 中的 產品 ID 列:
ALTER TABLE 訂單 ADD FOREIGN KEY (產品 ID) REFERENCES 產品(產品 ID) ON DELETE CASCADE ON UPDATE CASCADE
登錄后復制
在這個示例中,產品 ID 列是主表 產品 中的父列,產品 ID 列是子表 訂單 中的子列。如果從 產品 表中刪除一條記錄,則會自動從 訂單 表中級聯刪除所有相關記錄。同樣,如果更新 產品 表中的 產品 ID 值,則 訂單 表中相關記錄的 產品 ID 值也會自動更新。






