Добавление нулевого заполнения в существующую таблицу
Я пытаюсь добавить ZEROFILL в поле автоинкрементного первичного идентификатора в базе данных MySQL. Вот код (автоматически сгенерированный MySQL Workbench):
ALTER TABLE `database`.`table` CHANGE COLUMN `id` `id` INT(11) ZEROFILL NOT NULL AUTO_INCREMENT
Это ошибка, которую я получаю:
Error Code: 1025. Error on rename of './database/#sql-2c8_cb' to './database/table' (errno: 150)
Похоже, что временная таблица была создана, и когда возникает ошибка, когда временная таблица переименовывается с исходным именем таблицы.
Любая помощь будет отличной!
1 ответ
Решение
При использовании InnoDB проверьте монитор состояния (ПОКАЗАТЬ СТАТУС ДВИГАТЕЛЯ INNODB) сразу после выполнения изменения. Он должен сказать вам, если это из-за ограничения FK. Возможно, вам придется удалить ограничения, изменить столбец и создать их заново.