如何創(chuàng)建 sql 外鍵約束?步驟:使用 foreign key 子句定義外鍵約束。指定子表中的引用列和父表中的被引用列。可選:添加約束選項,例如級聯(lián)操作或延遲檢查。外鍵約束必須引用父表的主鍵或唯一鍵。
如何創(chuàng)建 SQL 外鍵約束
外鍵約束在 SQL 中用于確保數(shù)據(jù)完整性,通過建立兩個表之間的關(guān)系,強制要求子表中的值引用父表中的相應(yīng)值。創(chuàng)建外鍵約束的步驟如下:
1. 定義外鍵約束
使用 FOREIGN KEY 子句定義外鍵約束。該子句包含以下內(nèi)容:
子表中的引用列:引用父表中列的子表中的列。
REFERENCES 子句:指定引用父表。
父表中的被引用列:父表中的列,其值由子表中的引用列引用。
語法如下:
ALTER TABLE 子表 ADD FOREIGN KEY (引用列) REFERENCES 父表 (被引用列)
登錄后復(fù)制
2. 例子
例如,要為 訂單 表中的 客戶 ID 列創(chuàng)建外鍵約束,使其引用 客戶 表中的 客戶 ID 列,可以使用以下語句:
ALTER TABLE 訂單 ADD FOREIGN KEY (客戶 ID) REFERENCES 客戶 (客戶 ID)
登錄后復(fù)制
3. 約束選項(可選)
外鍵約束可以包含以下可選選項:
ON DELETE 和 ON UPDATE 動作:指定當(dāng)父表中的數(shù)據(jù)發(fā)生更改時對子表記錄執(zhí)行的操作(例如 CASCADE、SET NULL 或 SET DEFAULT)。
DEFERRABLE 和 NOT DEFERRABLE:指定是否允許在 DML 操作中延遲檢查外鍵約束。
MATCH 類型:指定外鍵引用列和被引用列之間的匹配類型(例如 FULL、PARTIAL 或 SIMPLE)。
4. 注意點
外鍵約束必須引用父表中的主鍵或唯一鍵。
如果父表中的數(shù)據(jù)發(fā)生更改,可能會觸發(fā)子表中的級聯(lián)操作。
外鍵約束可以影響插入、更新和刪除操作的性能。