外鍵是數據庫關系,用于建立兩個表之間的關聯,強制數據完整性。sql 中的外鍵約束語法為:alter table child_table add foreign key (column_name) references parent_table(column_name)。sql 提供的外鍵約束類型包括:on delete cascade、on delete set null、on delete set default、on update cascade、on update set null、on
SQL 外鍵語句
什么是外鍵?
外鍵是一種數據庫關系,用于在兩個表之間建立關聯。它通過引用另一個表中的主鍵列來強制數據完整性。
外鍵語法
在 SQL 中,外鍵約束可以使用以下語法創建:
ALTER TABLE child_table ADD FOREIGN KEY (column_name) REFERENCES parent_table(column_name)
登錄后復制
其中:
child_table 是包含外鍵列的表。
column_name 是 child_table 中的外鍵列。
parent_table 是包含被引用的主鍵列的表。
column_name 是 parent_table 中的主鍵列。
外鍵約束類型
SQL 提供以下類型的外鍵約束:
ON DELETE CASCADE:當父表中的記錄被刪除時,將自動刪除子表中所有引用該記錄的記錄。
ON DELETE SET NULL:當父表中的記錄被刪除時,將子表中引用該記錄的外鍵列設置為 NULL。
ON DELETE SET DEFAULT:當父表中的記錄被刪除時,將子表中引用該記錄的外鍵列設置為默認值。
ON UPDATE CASCADE:當父表中的記錄被更新時,將自動更新子表中所有引用該記錄的記錄。
ON UPDATE SET NULL:當父表中的記錄被更新時,將子表中引用該記錄的外鍵列設置為 NULL。
ON UPDATE SET DEFAULT:當父表中的記錄被更新時,將子表中引用該記錄的外鍵列設置為默認值。
示例
以下 SQL 語句在 orders 表和 customers 表之間創建外鍵:
ALTER TABLE orders ADD FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ON DELETE CASCADE
登錄后復制
這意味著 orders 表中的 customer_id 列將引用 customers 表中的 customer_id 主鍵。當 customers 表中的一條記錄被刪除時,orders 表中所有引用該記錄的記錄也將被刪除。