“设置foreign_key_checks = 0;”但仅适用于一个数据库

问题描述

我有一个带有许多数据库的伞形MySQL服务器。我只想为一个数据库中的所有表禁用外键。但是,通常的命令会禁用所有数据库的外键。

是否有一种方法可以在仅一个数据库的范围内工作? 另外,我希望它不按会话运行。但是对于全球会话而言。

解决方法

不。该变量适用于MySQL实例上的所有外键。无法将其限制为一个模式的范围。

唯一的解决方案是您已经知道的解决方案:

  • set foreign_key_checks=0作为会话变量,仅适用于将访问您所构想的模式的会话。
  • 将外键约束放到要考虑的架构表中。
  • 将架构托管在单独的MySQL实例中。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...