2016-11-09 5 views
0

id, parent, profesor, message과 같이이 필드가있는 messages mySQL 테이블이 있습니다.동일한 외래 필드를 가리키는 2 개의 열

parentprofesor은 모두 사용자이고 그래서 phpMyAdmin에 테이블을 생성 한 후 내가 쓴

user 테이블 (id, name, last name)에 저장됩니다

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

메시지의 모든 데이터를 삭제하고 완벽하게 작동했습니다. 감사!! –