mysql外鍵約束語法為:alter table child_table add foreign key (foreign_key_column) references parent_table (primary_key_column),可確保兩個表間關系完整性。外鍵約束作用包括:1.數據完整性:約束子表引用必須存在于父表;2.級聯更新:父表主鍵值變動時自動更新所有引用;3.級聯刪除:父表主鍵值刪除時自動刪除所有引用。
MySQL 外鍵約束語法
在 MySQL 中,外鍵約束用于確保兩個表之間的關系完整性。其語法如下:
<code>ALTER TABLE child_table ADD FOREIGN KEY (foreign_key_column) REFERENCES parent_table (primary_key_column)</code>
登錄后復制
其中:
child_table:需要添加外鍵約束的表。
foreign_key_column:child_table 中引用 parent_table 主鍵的列。
parent_table:被引用的表,其主鍵用于定義約束。
primary_key_column:parent_table 中被引用的主鍵列。
外鍵約束的作用
外鍵約束有助于確保以下事項:
數據完整性:防止在子表中插入沒有在父表中存在的引用。
級聯更新:當父表中的主鍵值更改時,自動更新所有引用子表中的值。
級聯刪除:當父表中的主鍵值被刪除時,自動刪除所有引用子表中的值。
示例
假設我們有兩個表:orders 和 order_items:
<code>CREATE TABLE orders ( order_id INT NOT NULL AUTO_INCREMENT, customer_id INT NOT NULL, PRIMARY KEY (order_id) ); CREATE TABLE order_items ( item_id INT NOT NULL AUTO_INCREMENT, order_id INT NOT NULL, product_id INT NOT NULL, PRIMARY KEY (item_id), FOREIGN KEY (order_id) REFERENCES orders (order_id) );</code>
登錄后復制
在此示例中,order_items 表的外鍵約束確保了每個 order_id 值在 orders 表中都存在。這意味著我們無法在 order_items 表中插入沒有在 orders 表中存在的 order_id 值。






