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值。
