2016-11-09 5 views
0

私はこのフィールドにid,parent,profesor,messageのmySQLテーブルmessagesを持っています。2つの列が同じ外部フィールドを指しています

parentprofesorは、両方のユーザーであり、だから私はphpMyAdminの中にテーブルを作成し、私が書いた

userテーブル(idnamelast 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

メッセージのすべてのデータを削除して、完全に機能しました!ありがとう!! –

関連する問題