如何解决每当我尝试将外键约束设置为“NO ACTION”时,MySQL 工作台会自动将其设置为“RESTRICT”
我正在尝试将外键设置为约束删除和更新为“NO ACTION”,但出于某种原因,在我应用更改后,MysqL 工作台自行将其更改回“RESTRICTED”,我不不知道为什么要这样做。
这是当我尝试将更新和删除的约束更改为“无操作”时 MysqL Workbench 生成的代码
ALTER TABLE `forums`.`post_replies`
DROP FOREIGN KEY `fk_post_replies_users`;
ALTER TABLE `forums`.`post_replies`
ADD CONSTRAINT `fk_post_replies_users`
FOREIGN KEY (`user_id`)
REFERENCES `forums`.`users` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
解决方法
NO ACTION
和 RESTRICT
是同义词。
"13.1.20.5 FOREIGN KEY Constraints":
NO ACTION
:来自标准 SQL 的关键字。在 MySQL 中,相当于 RESTRICT
。
Workbench 似乎只是选择在 RESTRICT
上显示 NO ACTION
(好吧,它必须选择一个并选择 MySQL 特定的一个......)。但这并不意味着什么不同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。