我在MYSQL数据库的各个表中的列很少,分配的长度超出了实际需要。因此,现在我尝试使其长度适当。它们是VARCHAR(64),我想将它们设为CHAR(36)。这些列涉及外键。这些更改将是一个新的SQL文件,该文件将与Flyway Engine一起运行。两种选择中哪一种更好?
1)删除约束并修改列并重新创建约束。
2)执行set foreign_key_checks=0
,更改列并执行set foreign_key_checks=1
。
答案 0 :(得分:0)
由于您将要更改长度,因此最好禁用Foreign_key_checks。因为这只会影响您当前的会话(除非您提及全局)。这样它就不会影响依赖于外键的其他会话。