mysql - “设置foreign_key_checks = 0;” 但仅适用于一个数据库
问题描述
我有一个包含许多数据库的伞式 MySQL 服务器。我想禁用一个数据库中所有表的外键。但是,通常的命令会禁用所有数据库的外键。
有没有办法让它只在一个数据库的范围内工作?另外,我希望它不是每个会话都可以工作。但对于全球会话而言。
解决方案
否。该变量适用于 MySQL 实例上的所有外键。没有办法将其限制在一个模式的范围内。
唯一的解决方案是您已经知道的解决方案:
set foreign_key_checks=0
作为会话变量,仅适用于将访问您想到的模式的会话。- 在您想到的模式的表中删除外键约束。
- 将架构托管在单独的 MySQL 实例中。