barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

суббота, 1 октября 2011 г.

MySQL: #1005 - Can't create table (errno: 150) при попытке создания внешнего ключа

Проблема:
При попытке создать внешний ключ в таблице MySQL командой ALTER TABLE появляется ошибка "#1005 - Can't create table ...#sql-c84_... (errno: 150)".
Причина:
Причин может быть несколько: несовпадение типов поля, являющегося первичным ключом, и поля-внешнего ключа, или же поле, на которое ссылается внешний ключ вообще не является первичным ключом. Для того, чтобы увидеть текст ошибки, нужно выполнить SHOW ENGINE INNODB STATUS, где посмотреть в блок "LATEST FOREIGN KEY ERROR".

Комментариев нет:

Отправить комментарий