我在数据库中有两个表:
第一张表:学生
Field Type Null Key Default
id int(11) NO PRI NULL
class_id int(11) NO PRI NULL
admission_id int(11) NO PRI NULL
school_id int(11) NO PRI NULL
name varchar(64) YES NULL
admin_date datetime YES NULL
第二张表:入场
Field Type Null Key Default
id int(11) NO PRI NULL
class_id int(11) NO PRI 1
school_id int(11) NO PRI NULL
name varchar(64) YES NULL
admin_date datetime YES NULL
现在我要填写Admission表的class_id列,稍后我将其介绍到表中。默认情况下,所有class_id都设置为1,因此需要根据学生进行更新。 我在做什么:
Update Admission
set class_id = (select class_id from Students where Students.school_id = Admission.school_id);
我收到一条错误消息:ERROR 1452(23000):无法添加或更新子行:外键约束失败
你能帮助我在我出错的地方或任何其他替代方案填写专栏。 提前致谢
答案 0 :(得分:3)
试试这个::
Update Admission
inner join Students on (Students.school_id = Admission.school_id)
set Admission.class_id = Students.class_id