是否可以禁用特定表的Mysql外键检查?
答案 0 :(得分:0)
基本上,MySQL中没有内置功能。</ p>
您可以禁用FK - 您可能知道 - 但不能用于特定的表 - 但所有。 下面是一个例子,它只适用于一个会话(从MySQL 5.xx你可以全局完成)。
SET FOREIGN_KEY_CHECKS = 0; #Off
SET FOREIGN_KEY_CHECKS = 1; #On
但是你可以用不同的方式处理这个问题 - 使用存储过程。
理论上,您可以构建从特定表中删除外键的存储过程,将所有这些(即表,FK名称,引用)保存到表中,以便您可以稍后检索所有这些并基于该重新创建相同的FK你以前有过。
但是这里的问题也是关于时间 - 你想让它们停用多长时间 - 以及主要原因是什么(一些大数据插入,更新,删除等)。