删除并重新创建FK约束或禁用并启用FK检查哪个更好?

时间:2019-07-16 10:06:27

标签: mysql database foreign-keys flyway disable

我在MYSQL数据库的各个表中的列很少,分配的长度超出了实际需要。因此,现在我尝试使其长度适当。它们是VARCHAR(64),我想将它们设为CHAR(36)。这些列涉及外键。这些更改将是一个新的SQL文件,该文件将与Flyway Engine一起运行。两种选择中哪一种更好?

1)删除约束并修改列并重新创建约束。

2)执行set foreign_key_checks=0,更改列并执行set foreign_key_checks=1

1 个答案:

答案 0 :(得分:0)

由于您将要更改长度,因此最好禁用Foreign_key_checks。因为这只会影响您当前的会话(除非您提及全局)。这样它就不会影响依赖于外键的其他会话。

相关问题