2列指向同一个外部字段

2 columns pointing to the same foreign field

我有一个 mySQL table messages,其中包含以下字段:idparentprofesormessage .

parentprofesor 都是用户,存储在 user table (id, name, last name)

所以我在 phpMyAdmin 中创建了 table 然后我写道:

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

并且工作完美! 当我对 parent 执行相同操作时,出现此错误:

#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`))

我做错了什么?

'messages'table有数据吗?如果是这样,所有 messages.parent 字段都应填写相应的 user.id 值,否则会出现此错误。

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

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