gpt4 book ai didi

mysql - 'SET foreign_key_checks = 1' 不再起作用

转载 作者:可可西里 更新时间:2023-11-01 06:32:36 24 4
gpt4 key购买 nike

我正在与:

  • mysql: stable 5.6.22 (bottled)
  • MySQL工作台6.2

我有以下顺序

DROP TABLE IF EXISTS invoicedetail;
DROP TABLE IF EXISTS invoiceheader;
DROP TABLE IF EXISTS product;

当我通过 Java (JDBC) 工作时失败并且通过 MySQLWorkBench 也失败,错误消息是关于 FK 子约束(我没有确切的错误消息),好吧谷歌我做了一项研究,我发现了两次相同的有效解决方案。

好吧,我做了以下事情:

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;

又能用了,刚玩,我又试着执行了

DROP TABLE IF EXISTS invoicedetail;
DROP TABLE IF EXISTS invoiceheader;
DROP TABLE IF EXISTS product;

确保 SELECT @@FOREIGN_KEY_CHECKS; 返回 1

原来的错误信息不会再出现了。

我再次在 Google 上进行了研究,发现了以下内容:

它说:它是基于 session 的

好吧,即使在:

  • mysql服务器停止并重新启动
  • 重新打开工作台
  • 电脑重启

SELECT @@FOREIGN_KEY_CHECKS; 返回 1

原来的错误信息不再出现。

因此,似乎 'SET foreign_key_checks = 1' 无法正常工作,或者需要额外的配置/指令

我希望能够随时禁用和启用 FK 安全约束

最佳答案

我在使用 PHPMyAdmin 时遇到了类似的问题。毕竟,问题在于 PHPMyAdmin 添加(默认情况下)“FOREIGNK_KEY_CHECKS=1”。

当我使用 PHPMyAdming 查询服务器时,在页面末尾选中了“启用外键检查”选项,因此我的查询中的“SET FOREIGN_KEY_CHECKS=0”实际上没有任何作用。

请确保您的问题的解决方案不是像这样愚蠢的东西。 ;-)

关于mysql - 'SET foreign_key_checks = 1' 不再起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28481743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com