2016-05-31 6 views
0

employeesテーブルを更新しようとしていますが、試してみるとforeign keyについてこのエラーが発生します。MYSQLエラー - 子行を追加または更新できません:外部キー制約が失敗しました

#1452 - 子行を追加または更新できません:外部キー制約は、( `hrms`.`employees`、CONSTRAINT` Fk_Employee_Sections` FOREIGN KEY( `section`)REFERENCES` master_sections`( `id`を失敗しました))UPDATE CASCADE ON DELETE SET NULLのON

ここに私のコードは

ある
UPDATE employees e 
JOIN testsection t 
ON(e.employee_id = t.epfno) 
SET e.section = t.id 

その後、私はこのコードを試してみてください、それはまだ動作していません。

set foreign_key_checks=0 
UPDATE employees e 
JOIN testsection t 
ON(e.employee_id = t.epfno) 
SET e.section = t.id 
set foreign_key_checks=1 

理由は何でしょうか。

答えて

2

よく、employeesテーブルの子ローsectionを更新しようとしました。これまでのところとても良いですが、テーブルtestsectionから値を書き込もうとします。参照先がテーブルのid列を指しているため、これは機能しません。 section - 列は、master_sections表のid列に含まれる値のみを受け入れます。それ以外の場合は失敗します。

関連する問題