禁用特定表的mysql外键检查

禁用特定表的mysql外键检查,mysql,constraints,Mysql,Constraints,是否可以禁用特定表的Mysql外键检查?基本上Mysql中没有内置的功能 您可以禁用FKs—您可能知道—但不是针对特定的表—而是全部。 下面是一个示例,它仅适用于一个会话(从MySQL 5.xx可以全局执行) 但是您可以用另一种方式来处理这个问题——使用存储过程 理论上,您可以构建从特定表中删除外键的存储过程,将所有这些(即表、FK名称、引用)保存到一个表中,以便以后可以检索所有这些内容,并基于这些内容重新创建以前的FK 但这里的问题也是关于时间安排——你想让它们禁用多久——以及背后的主要原因(

是否可以禁用特定表的Mysql外键检查?

基本上Mysql中没有内置的功能

您可以禁用FKs—您可能知道—但不是针对特定的表—而是全部。 下面是一个示例,它仅适用于一个会话(从MySQL 5.xx可以全局执行)

但是您可以用另一种方式来处理这个问题——使用存储过程

理论上,您可以构建从特定表中删除外键的存储过程,将所有这些(即表、FK名称、引用)保存到一个表中,以便以后可以检索所有这些内容,并基于这些内容重新创建以前的FK

但这里的问题也是关于时间安排——你想让它们禁用多久——以及背后的主要原因(一些大数据插入、更新、删除等)

SET FOREIGN_KEY_CHECKS = 0; #Off
SET FOREIGN_KEY_CHECKS = 1; #On