问题描述
我有一个带有许多数据库的伞形MySQL服务器。我只想为一个数据库中的所有表禁用外键。但是,通常的命令会禁用所有数据库的外键。
是否有一种方法可以在仅一个数据库的范围内工作? 另外,我希望它不按会话运行。但是对于全球会话而言。
解决方法
不。该变量适用于MySQL实例上的所有外键。无法将其限制为一个模式的范围。
唯一的解决方案是您已经知道的解决方案:
-
set foreign_key_checks=0
作为会话变量,仅适用于将访问您所构想的模式的会话。 - 将外键约束放到要考虑的架构表中。
- 将架构托管在单独的MySQL实例中。