微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

每当我尝试将外键约束设置为“NO ACTION”时,MySQL 工作台会自动将其设置为“RESTRICT”

如何解决每当我尝试将外键约束设置为“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 ACTIONRESTRICT 是同义词。

"13.1.20.5 FOREIGN KEY Constraints"

NO ACTION:来自标准 SQL 的关键字。在 MySQL 中,相当于 RESTRICT

Workbench 似乎只是选择在 RESTRICT 上显示 NO ACTION(好吧,它必须选择一个并选择 MySQL 特定的一个......)。但这并不意味着什么不同。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。