0

我有一个messages带有以下字段的 mySQL 表: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`))

我做错了什么?

4

1 回答 1

0

“消息”表中有任何数据吗?如果是这样,所有的messages.parent字段都应该用user.id的相应值填充,否则你会得到这个错误。

您可以使用此查询检查不限制行:

SELECT id, parent FROM messages WHERE parent NOT IN 
(SELECT id FROM user)
于 2016-11-09T21:05:08.997 回答