ALTER TABLE table_nameADD FOREIGN KEY (column_name) REFERENCES referenced_table_name (referenc">

mysql如何添加外键

来源:这里教程网 时间:2026-02-28 18:14:15 作者:

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>

相关推荐