Почему я получил эту ошибку: "Ошибка 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" в вашей таблице изменения, или одно не подписано, а другое нет, и т. Д...)

Другие вопросы по тегам