2009-11-25 3 views
0

Я получаю сообщение об ошибке при выполнении запроса ниже:Ошибка в SQL Query Alter Table MySql

ALTER TABLE property_res_details 
ADD CONSTRAINT PropertyIdLink FOREIGN KEY (Property_ID) 
REFERENCES properties(Property_ID) ON DELETE CASCADE ; 


#1005 - Can't create table './resfi/#sql-10e1_8df.frm' (errno: 150) 

Что может я делать неправильно?

ответ

2

This page может дать ключ к пониманию того, что происходит ...

Поскольку вы добавляете внешний ключ, это звучит актуально. Он предлагает вам попробовать

SHOW ENGINE INNODB STATUS; 

, чтобы увидеть последнюю ошибку ограничения, которые могут вызвать ошибку вы видите.

Может быть, если вы пытаетесь

SET FOREIGN_KEY_CHECKS = 0; 

перед вашей командой, он будет отключить проверку и позволит вам продолжать?

+1

Вы сохранили мой день по этой ссылке. Благодарю. Я трачу часы на изучение причин неудачи создания. –

0

Да, вы не просто любите сообщения об ошибках MySQL.

ADD CONSTRAINT PropertyIdLink FOREIGN KEY (Property_ID) 
REFERENCES properties(Property_ID) ON DELETE CASCADE; 

Убедитесь, что Property_ID столбцы имеют точно такой же тип данных в обеих таблицах. Вот как я в прошлом фиксировал подобные ошибки для себя.