通过以下步骤在 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智库其它相关文章!