我创建了两个表。一个用于学生并且stu_id为主要关键字,另一个用于保存关于学生的信息并且具有stu_id_fk作为外键。
我使用phpmyadmin的界面建立了两者之间的关系并且它工作正常,它甚至显示当鼠标悬停在值上时外键正在引用哪个学生(我直接从phpmyadmin插入一些值而不是通过php代码)。因此,当我想插入学生的信息时,我创建了一个学生“Billy”,我使用了以下查询
overfitting
我收到此错误:
无法添加或更新子行:外键约束失败
现在我推断当在主表中创建学生时,我还应该在详细信息表中插入一个新值,所以当我想插入学生的信息时,表将有stu_id_fk,其余的detials将是空白的,准备插入。那是对的吗?
这是我添加学生的查询
$query= " INSERT INTO stu_details (phone,email,location,website,description ) VALUES ('$phone', '$email', '$location', '$website', '$description') ";
我做错了什么?是否在主表中添加学生时没有在子表中插入FOREIGN KEY值?如果是的话,我应该如何编辑我的查询以便能够在一个查询中插入两个表?
编辑:我的问题与建议的类似问题不同。我问的是在查询代码中要写什么,以免因外键而出错。
谢谢。
答案 0 :(得分:3)
要在代码级别维护FK关系,您必须遵循以下规则:
inserted ID
。