MySQL 中添加外键
MySQL 中添加外键可以确保数据完整性和一致性。外键通过将一个表中的列与另一个表中的主键关联来实现。
如何添加外键
使用以下语法在 MySQL 中添加外键:
<code class="sql">ALTER TABLE table_name ADD FOREIGN KEY (column_name) REFERENCES referenced_table_name (referenced_column_name);</code>
其中:
table_name是要添加外键的表。
column_name是要作为外键的列。
referenced_table_name是包含外键列所引用的主键的表。
referenced_column_name是作为外键引用的主键列。
示例
假设我们有两个表:
orders:包含订单信息,它具有字段
order_id作为主键。
products:包含产品信息,它具有字段
product_id作为主键。
要在外键
order_id和
products表的主键
product_id之间建立关联,可以使用以下查询:
<code class="sql">ALTER TABLE orders ADD FOREIGN KEY (order_id) REFERENCES products (product_id);</code>
现在,当向
orders表中插入新记录时,
order_id列的值必须等于
products表中现有行的
product_id值。
外键约束
添加外键时,可以指定以下约束:
ON DELETE:指定当引用的行在
referenced_table_name表中被删除时应采取的操作。选项包括
RESTRICT、
CASCADE和
SET NULL。
ON UPDATE:指定当引用的行在
referenced_table_name表中被更新时应采取的操作。选项包括
RESTRICT、
CASCADE和
SET NULL。
例如,要指定在删除
products表中的行时级联删除
orders表中的引用行,可以使用以下语法:
<code class="sql">ALTER TABLE orders ADD FOREIGN KEY (order_id) REFERENCES products (product_id) ON DELETE CASCADE;</code>
