2016-11-09 68 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

我删除了邮件中的所有数据并完美工作!谢谢!! –