ALTER TABLE [子表名] ADD CONSTRAINT [外键名称] FOREIGN KEY ([子表外键列名]) REFERENCES [父表名] ([父表主键列名])2. 参数说明[子表名]:指">

mysql如何建立外键

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

如何在 MySQL 中建立外键

外键是一种关系数据库中用来建立表之间关联的约束。在 MySQL 中,可以通过以下步骤建立外键:

1. 创建外键

<code class="mysql">ALTER TABLE [子表名] ADD CONSTRAINT [外键名称] FOREIGN KEY ([子表外键列名]) REFERENCES [父表名] ([父表主键列名])</code>

2. 参数说明

[子表名]:指定要创建外键的子表。 [外键名称]:指定外键的名称。 [子表外键列名]:指定子表中引用父表主键的列。 [父表名]:指定外键引用的父表。 [父表主键列名]:指定父表中被引用的主键列。

3. 示例

考虑以下两个表:

订单表 (
orders
):包含订单信息
产品表 (
products
):包含产品信息

要在

orders
表中建立引用
products
product_id
列的外键,可以使用以下语句:

<code class="mysql">ALTER TABLE orders ADD CONSTRAINT FK_product FOREIGN KEY (product_id) REFERENCES products (product_id)</code>

4. 作用

外键建立后,将强制子表中的外键列值与父表中的主键列值保持一致。这意味着:

子表记录的外键值必须存在于父表的主键值中。 如果父表中的主键值被删除或修改,则相应的子表记录也会被删除或修改(取决于外键约束的类型)。

5. 约束类型

MySQL 支持以下外键约束类型:

RESTRICT:不允许删除或修改父表中的主键值,否则会导致违反外键约束。 CASCADE:当父表中的主键值被删除或修改时,自动删除或修改子表中的外键值。 SET NULL:当父表中的主键值被删除或修改时,将子表中的外键值设置为 NULL。

相关推荐