注册

mysql如何建立外键

通过以下步骤在 mysql 中建立外键:1. alter table [子表名] add constraint [外键名称] foreign key ([子表外键列名]) references [父表名] ([父表主键列名]);2. 这样做可以强制子表中的外键值与父表中的主键值一致,并支持 restrict、cascade、set null 等约束类型。

如何在 MySQL 中建立外键

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

1. 创建外键

ALTER TABLE [子表名] ADD CONSTRAINT [外键名称] FOREIGN KEY ([子表外键列名]) REFERENCES [父表名] ([父表主键列名])

2. 参数说明

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

3. 示例

考虑以下两个表:

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

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

ALTER TABLE orders ADD CONSTRAINT FK_product FOREIGN KEY (product_id) REFERENCES products (product_id)

4. 作用

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

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

5. 约束类型

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

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

以上就是mysql如何建立外键的详细内容,更多请关注CTO智库其它相关文章!