当外键引用它们时交换值

时间:2016-06-30 12:46:42

标签: mysql

例如,如果我有一个列table_1.column_a的表,另一个表table_2.column_b的表。 table_2.column_b中的值引用table_1.column_a作为外键。

一旦出现table_1.column_a中的两个条目必须交换的情况,无论是出于测试目的还是现实原因(例如交换两个玩家所属的团队),最简单的方法是什么?实现这一点,而不破坏外键约束?

目前每次我必须这样做时,我会删除外键约束,以便交换数据,然后再次定义它们的外键约束。

是否有某种交换机制,无论是一些内置功能还是我可以使用的一些hacky查询,这将允许我交换两个条目而不必删除然后重新创建外键?

1 个答案:

答案 0 :(得分:1)

这是一个小黑客。

SET foreign_key_checks = 0;

交换你的记录

SET foreign_key_checks = 1;