Man*_*dan 9 mysql mysql-workbench
我正在与:
我有以下顺序
DROP TABLE IF EXISTS invoicedetail;
DROP TABLE IF EXISTS invoiceheader;
DROP TABLE IF EXISTS product;
Run Code Online (Sandbox Code Playgroud)
它通过Java(JDBC)失败并通过MySQLWorkBench失败,错误消息是关于FK Child约束(我没有确切的错误消息),通过谷歌我做了一个研究,我发现了两次相同的有效解
好吧,我做了以下事情:
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS invoicedetail;
DROP TABLE IF EXISTS invoiceheader;
DROP TABLE IF EXISTS product;
SET FOREIGN_KEY_CHECKS=1;
Run Code Online (Sandbox Code Playgroud)
它再次起作用,只是玩,我试图再次执行
DROP TABLE IF EXISTS invoicedetail;
DROP TABLE IF EXISTS invoiceheader;
DROP TABLE IF EXISTS product;
Run Code Online (Sandbox Code Playgroud)
确保SELECT @@FOREIGN_KEY_CHECKS;返回1
那么原始的错误消息不会再出现.
我再次对谷歌进行了研究,发现了以下内容:
它说: It is session-based
好吧,即使在:
并SELECT @@FOREIGN_KEY_CHECKS;返回1
原始错误消息不再出现.
因此,似乎 'SET foreign_key_checks = 1'无法工作如何预期或需要额外的配置/指令
我希望能够随时禁用和启用该FK安全约束
小智 11
我在PHPMyAdmin遇到了类似的问题.毕竟,问题是PHPMyAdmin正在添加(默认情况下)"FOREIGNK_KEY_CHECKS = 1".
当我使用PHPMyAdming查询服务器时,在页面末尾检查了"启用外键检查"选项,因此查询中的"SET FOREIGN_KEY_CHECKS = 0"实际上都没有.
请确保您的问题的解决方案不是这样愚蠢的.;-)