Почему я получил эту ошибку: "Ошибка SQL 1025: ошибка при переименовании"... "в"... "(errno: 150)"?
Я хочу переименовать поле таблицы в MySQL версии 5.2.25, из "alter table", но я получил эту ошибку:
SQL Error 1025: Error on rename of '.\Packers\#sql-804_3' to '.\Packers\pattern' (errno: 150)
но на другом столе у меня не было этой проблемы, я не знаю почему, это вызвано внешним ключом?
1 ответ
Да, это ошибка внешнего ключа. Делать show innodb status
сразу после вашего alter table
попытка, и часть вывода будет последней детали ошибки внешнего ключа.
Обычно это происходит из-за несоответствия типов данных в полях внешнего ключа (это "int" в одной таблице, но "bigint" в вашей таблице изменения, или одно не подписано, а другое нет, и т. Д...)