我在 MYSQL 数据库的各个表中分配的列数比实际需要的长度要长。所以现在我尝试使它们具有适当的长度。它们是 VARCHAR(64),我想让它们变成 CHAR(36)。这些列涉及外键。这些更改将成为一个新的 SQL 文件,该文件与 Flyway Engine 一起运行。这两个选项哪个更好?
1) 删除约束并修改列并重新创建约束。
2) 执行setforeign_key_checks=0
,更改列并执行setforeign_key_checks=1
。
最佳答案
由于您要更改长度,因此最好禁用foreign_key_checks。因为它只会影响您当前的 session (除非您提到全局)。这样就不会影响其他依赖外键的 session 。
关于mysql - 删除并重新创建 FK 约束或禁用并启用 FK 检查哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57054826/