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 阅读 37 次 更新于 2025-09-08 23:28:17 我来答关注问题0
  • 在MySQL中,我们可以通过ALTER TABLE语句来添加外键约束,即:ALTER TABLE `bookinfo` ADD FOREIGN KEY(`book_id`) REFERENCES `book`(`id`);其中,`book_id`表示从表的外键,`id`表示主表的主键,`REFERENCES`代表从表引用主表的哪个字段。3.测试外键约束 当我们成功添加外键约束后,可以测试该约束...

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

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

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

  • 在MySQL中,默认情况下,外键约束是关闭的。如果您尝试设置外键约束但不起作用,请检查您是否已启用外键约束。使用以下命令可以检查外键约束是否启用:SHOW VARIABLES LIKE ‘FOREIGN_KEY_CHECKS’;如果该值是“1”,则表示启用了外键约束。如果您需要启用外键约束,请使用以下SQL命令:SET FOREIG...

  • 方法/步骤 设置主键:1、通过终端进入到mysql命令行工具。2、通过use关键字进行到目标数据库里。3、如原表已有主键,先把原来的主键删除掉,通过DROP PRIMARY KEY命令:ALTER TABLE `jingyan` DROP PRIMARY KEY;。4、主键已经没有了。5、通过命令:ADD PRIMARY KEY来添加ALTER TABLE `jingyan` ADD ...

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

mySQL相关话题

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