什么是外鍵?
外鍵(Foreign Key)是關系型數據庫中的一種約束。它用來保證數據在關系中的一致性,限制一個表中的數據只能引用另一個表中的數據。
為什么需要建立外鍵?
在關系型數據庫中,不同的表之間通常有關聯。如果沒有外鍵約束,會導致數據的不一致和沖突。
如何建立外鍵?
在 MySQL 中,我們可以使用 ALTER TABLE 語句來添加外鍵約束。
語法如下:
ALTER TABLE<表名>ADD CONSTRAINT<約束名稱>FOREIGN KEY (<字段名>) REFERENCES<關聯表名>(<關聯字段名>) [ON DELETE<操作方式>] [ON UPDATE<操作方式>];
每部分意義解析:
<表名>:需要添加外鍵的表名。
<約束名稱>:外鍵約束名稱。
<字段名>:需要添加外鍵約束的列名。
<關聯表名>:需要關聯的表名。
<關聯字段名>:需要關聯的列名。
<操作方式>:可選參數,用來指定刪除或更新關聯表的記錄時需要執行的操作。
外鍵約束的操作方式
CASCADE:級聯刪除/更新。即刪除/更新主表記錄時,相關子表的記錄也將被刪除/更新。
SET NULL:置空。即刪除/更新主表記錄時,相關子表的外鍵列將被置空。
示例
例如,我們有兩張表,一張是學生表,另一張是班級表。我們想要在學生表中添加一個外鍵約束,關聯班級表中的班級 ID 列。
SQL 語句如下:
ALTER TABLE student ADD CONSTRAINT fk_class FOREIGN KEY (class_id) REFERENCES class(id) ON DELETE SET NULL ON UPDATE CASCADE;
它會創建一個名為 "fk_class" 的外鍵約束,將 student 表的 class_id 列與 class 表的 id 列關聯起來。當 class 表中的記錄被刪除或更新時,相應的 student 表中的記錄將被置空或者更新。
上一篇mysql 怎么配置
下一篇css照片怎么居中對齊