0

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

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

2)执行set foreign_key_checks=0,改变列和执行set foreign_key_checks=1

4

1 回答 1

0

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

于 2019-07-16T10:35:29.650 回答