В моей базе данных MySQL InnoDB с внешними ключами я случайно сделал некоторые из моих первичных ключей, подписанных вместо unsigned, как я хочу, чтобы они были.
Теперь я хочу изменить его с помощью инструкции ALTER TABLE, но она не работает:
ALTER TABLE `users` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT
Ошибка MySQL:
Error on rename of './db_dev/#sql-478_3' to './db_dev/users' (errno: 150)
Я не понимаю, почему. Я работаю с Foreign Keys и пробовал использовать
SET foreign_key_checks = 0;
Заявление перед выполнением ALTER TABLE сверху. Не работает. Примечание. Все мои таблицы по-прежнему пусты. В нем пока нет данных.
Поскольку в базе данных много таблиц, было бы очень сложно удалить все внешние ключи, а затем вручную добавить их снова. (если это должно быть причиной).