我有一个mySQL表messages
,其中包含以下字段:id
,parent
,profesor
,message
。
parent
和profesor
都是用户,存储在user
表格中id
,name
,last 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 :(得分:0)
你的消息中是否有任何数据'表?如果是这样,所有的messages.parent字段都应填充相应的user.id值,否则会出现此错误。
您可以使用此查询检查不约束行:
SELECT id, parent FROM messages WHERE parent NOT IN
(SELECT id FROM user)