2016-11-09 66 views
0

我有一個mySQL表messages與此字段:id,parent,profesor, message2列指向同一外國領域

parentprofesor是用戶和存儲在user表(idnamelast name

所以我創建的表在phpMyAdmin,然後我說:

alter table messaged add foreign key (profesor) references user (id) 

和工作完美! 當我爲父母做的一樣,我得到這個錯誤:

#1452 - Cannot add or update a child row: a foreign key constraint fails (`school`.`#sql-1e30_fe`, CONSTRAINT `#sql-1e30_fe_ibfk_2` FOREIGN KEY (`parent`) REFERENCES `user` (`id`)) 

我做錯了嗎?

+0

你'改變table'命令是'professor'列,但該錯誤信息是關於'parent'。這是什麼? – Barmar

回答

0

「消息」表中有任何數據嗎?如果是這樣,所有的messages.parent字段應該填充user.id的相應值,否則你會得到這個錯誤。

您可以檢查沒有與此查詢限制行:

SELECT id, parent FROM messages WHERE parent NOT IN 
(SELECT id FROM user) 
+0

我刪除了郵件中的所有數據並完美工作!謝謝!! –