Почему я получил эту ошибку: «Ошибка SQL 1025: ошибка при переименовании« ... »в« ... »(errno: 150)»? - PullRequest
0 голосов
/ 27 октября 2010

Я хочу переименовать поле таблицы в MySQL ver 5.2.25, из "alter table", но я получил эту ошибку:

SQL Error 1025: Error on rename of '.\Packers\#sql-804_3' to '.\Packers\pattern' (errno: 150)

, но на другой таблице у меня не было этой проблемы,Я не знаю почему, это вызвано внешним ключом?

1 Ответ

1 голос
/ 27 октября 2010

Да, это ошибка внешнего ключа.Выполните show innodb status сразу после вашей попытки alter table, и часть выходных данных будет последней информацией об ошибке внешнего ключа.

Обычно это вызвано несоответствием типов данных в полях внешнего ключа (это int)в одной таблице, но 'bigint' в вашей таблице изменения, или один не подписан, а другой нет, и т.д ...)

...