mysql怎么设置外键

SET NULL:子表更随主表更新外键值为 NULL RESTRICT/ NO ACTION:默认,限制父表改动外键值 SET DEFAULT:目前产生的效果和 RESTRICT 相同。
mysql怎么设置外键
外键的设计初衷是为了在数据库端保证对逻辑上相关联的表数据在操作上的一致性与完整性。
优点:
精简关联数据,减少数据冗余避免后期对大量冗余处理的额外运维操作。
降低应用代码复杂性,减少了额外的异常处理相关数据管理全由数据库端处理。
增加文档的可读性特别是在表设计开始,绘制 ER 图的时候,逻辑简单明了,可读性非常强。
缺点:
性能压力外键一般会存在级联功能,级联更新,级联删除等等。在海量数据场景,造成很大的性能压力。比如插入一条新记录,如果插入记录的表有 10 个外键,那势必要对关联的 10 张表逐一检查插入的记录是否合理,延误了正常插入的记录时间。并且父表的更新会连带子表加上相关的锁。
其他功能的灵活性不佳比如,表结构的更新等。
外键参照动作列表:
CASCADE:级联,子表跟随父表更新外键值
SET NULL:子表更随主表更新外键值为 NULL
RESTRICT/ NO ACTION:默认,限制父表改动外键值
SET DEFAULT:目前产生的效果和 RESTRICT 相同。2024-12-09
mengvlog 阅读 8 次 更新于 2025-07-20 16:29:04 我来答关注问题0
  • 在MySQL中,我们可以通过ALTER TABLE语句来添加外键约束,即:ALTER TABLE `bookinfo` ADD FOREIGN KEY(`book_id`) REFERENCES `book`(`id`);其中,`book_id`表示从表的外键,`id`表示主表的主键,`REFERENCES`代表从表引用主表的哪个字段。3.测试外键约束 当我们成功添加外键约束后,可以测试该约束...

  • 在CREATE TABLE语句中,使用CONSTRAINT关键字定义约束名称,这里使用“FK__1”作为约束名。接着,使用FOREIGN KEY短语指定外键字段parentfolderid,并通过REFERENCES短语引用主表文件夹表中的主键字段folderid。这样设置后,文件夹表中的每个记录可以引用另一个文件夹表中的记录,从而实现文件夹之间的层级结构。

  •  文暄生活科普 数据库建表时候如何通过鼠标设置外键,不用语句

    MySQL:在设计好表结构后,选择需要设置外键的列名。右键点击该列名,选择“Add Key”选项。在弹出的窗口中选择“Foreign Key”选项。在“Column list”区域选择该外键所对应的主键列。点击“OK”按钮,完成外键设置。SQL Server:在表设计界面中,选择需要设置外键的列名。右键点击后选择“Key”选项。在弹...

  •  文暄生活科普 如何在MySQL中设置外键约束以及外键的作用

    在MySQL中设置外键约束可以确保数据的完整性和一致性。例如,假设我们有两个表,表a和表b。表a包含主键a_id,表b则包含一个外键b_id。首先,我们创建表a,其中包含主键a_id和a_name字段:create table a ( a_id int primary key, a_name varchar(2) )。接下来,我们创建表b,其中包含b_id...

  • MySQL数据库创建外键主要通过以下SQL语句实现:使用ALTER TABLE语句添加外键:格式:sqlALTER TABLE 子表名ADD FOREIGN KEY REFERENCES 主表名 ; 示例:假设有“学生”表和“班级”表,为“学生”表的“班级ID”字段创建外键,引用“班级”表的“ID”字段。sqlALTER TABLE 学生ADD FOREIGN KEY REFERENCES ...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部