Что лучше: удаление и воссоздание ограничений FK ИЛИ отключение и включение проверок FK?

У меня есть несколько столбцов в различных таблицах базы данных MYSQL, которым было выделено больше длины, чем на самом деле нужно. Так что теперь я стараюсь сделать их нужной длины. Они были VARCHAR(64), и я хочу сделать их CHAR(36). Эти столбцы участвуют во внешних ключах. Эти изменения будут представлять собой новый файл SQL, который запускается с помощью Flyway Engine. Какой из двух вариантов лучше?

1) удалить ограничения и изменить столбцы и воссоздать ограничения.

2) выполнить set foreign_key_checks=0, изменить столбцы и выполнить set foreign_key_checks=1.


person user9920500    schedule 16.07.2019    source источник


Ответы (1)


Поскольку вы собираетесь изменить длину, лучше отключить Foreign_key_checks. Потому что это повлияет только на ваш текущий сеанс (если вы не упомянули глобальный). так что это не повлияет на другой сеанс, который зависит от внешнего ключа.

person James    schedule 16.07.2019