原因是兩張表存在外鍵關聯並且有級聯操作,級聯更新或級聯刪除等
例如:班主任班級關系表fl_school_class_manager和用戶表fl_user有外鍵關聯,並且級聯更新和級聯刪除
而教師關系表fl_school_class_teacher 和用戶表fl_user 沒有外鍵關聯,當fl_school_class_teacher 存在一條用戶表不存在的教師的教師關系記錄時,通過這條記錄創建班主任班級關系表時,就報錯,'Cannot add or update a child row: a foreign key constraint fails
解決辦法:刪除不存在的教師的教師班級關系,建立fl_school_class_teacher與fl_user的外鍵關聯(或者都刪除外鍵關系,使用業務邏輯處理)
SELECT * FROM fl_school_class_teacher fsct WHERE fsct.uid NOT IN (SELECT fu.uid FROM fl_user fu )