返回顶部
首页 > mysql如何创建3帐表外键
  • 10
分享到

mysql如何创建3帐表外键

2024年03月26日 10人浏览 编程网

摘要

在 MySQL 中创建外键可确保数据的一致性、完整性和引用完整性。外键通过在两个表之间建立关系来实现,其中一个表(父表)的主键与另一个表(子表)的一列(外键列)相关联。

通过创建外键,MySQL 可以强制执行以下规则:

  • 子表中的外键列必须引用父表中的有效主键。
  • 删除父表中的记录之前,必须先删除所有引用该记录的子表记录。

详细说明

创建外键

要在 MySQL 中创建外键,请使用以下语法:

ALTER TABLE <子表名称>
ADD FOREIGN KEY (<外键列名称>) REFERENCES <父表名称>(<主键列名称>)

例如,假设我们要在 订单 表中创建一个外键列 customer_id,该列引用 客户 表中的主键列 id

ALTER TABLE 订单
ADD FOREIGN KEY (customer_id) REFERENCES 客户(id)

约束选项

创建外键时,可以指定以下约束选项:

  • ON DELETE CASCADE:如果父表中引用记录被删除,则自动删除子表中所有引用该记录的记录。
  • ON DELETE SET NULL:如果父表中引用记录被删除,则将子表中对应的外键列设置为 NULL。
  • ON UPDATE CASCADE:如果父表中引用记录被更新,则自动更新子表中所有引用该记录的外键列。
  • ON UPDATE SET NULL:如果父表中引用记录被更新,则将子表中对应的外键列设置为 NULL。

例如,要指定在删除父表记录时级联删除子表记录的 ON DELETE CASCADE 约束,请使用以下语法:

ALTER TABLE 订单
ADD FOREIGN KEY (customer_id) REFERENCES 客户(id) ON DELETE CASCADE

多列外键

MySQL 还支持创建多列外键。多列外键将子表中的多个列引用到父表中的多个列。

要创建多列外键,请使用以下语法:

ALTER TABLE <子表名称>
ADD FOREIGN KEY (<外键列名称1>, <外键列名称2>, ...)
REFERENCES <父表名称>(<主键列名称1>, <主键列名称2>, ...)

例如,假设我们要在 订单项 表中创建多列外键 (order_id, product_id),该外键引用 订单 表中主键 (id)产品 表中主键 (id)

ALTER TABLE 订单项
ADD FOREIGN KEY (order_id, product_id) REFERENCES 订单(id), 产品(id)

查看外键

要查看现有外键约束,可以使用以下命令:

SHOW CREATE TABLE <表名称>

例如,要查看 订单 表上的外键,请使用以下命令:

SHOW CREATE TABLE 订单

删除外键

要删除外键约束,请使用以下语法:

ALTER TABLE <表名称>
DROP FOREIGN KEY <外键名称>

例如,要删除 订单 表上的 customer_id 外键,请使用以下命令:

ALTER TABLE 订单
DROP FOREIGN KEY customer_id

以上就是mysql如何创建3帐表外键的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: mysql如何创建3帐表外键

本文链接: https://www.lsjlt.com/wiki/c52176875d.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作