【发布时间】:2017-07-10 14:13:21
【问题描述】:
我创建了两个表。一个用于学生,将 stu_id 作为主键,另一个保存有关学生的信息,并将 stu_id_fk 作为外键。
我使用 phpmyadmin 的界面设置了两者之间的关系,它工作正常,当鼠标悬停在值上时,它甚至显示外键引用的学生(我直接从 phpmyadmin 插入一些值,而不是通过 php 代码)。因此,当我想插入学生的信息时,我创建了一个学生“Billy”,我使用了以下查询
$query= " INSERT INTO stu_details (phone,email,location,website,description ) VALUES ('$phone', '$email', '$location', '$website', '$description') ";
我得到这个错误:
无法添加或更新子行:外键约束失败
现在我推断,在主表中创建学生时,我还应该在详细信息表中插入一个新值,所以当我要插入学生信息时,该表将有 stu_id_fk 其余的详细信息将为空白并准备插入。那是对的吗?
这是我添加学生的查询
$qry= "INSERT INTO students (type,class, username,password,description,reg_date) values ('$type', '$class','$username','$password','$description','$date')";
我做错了什么?是不是我在主表中添加学生时没有在子表中插入 FOREIGN KEY 值?如果是,我应该如何编辑我的查询以便能够在一个查询中插入两个表?
编辑:我的问题与建议的类似问题不同。我在询问在查询代码中写什么,以免因为外键而出错。
谢谢。
【问题讨论】:
-
我在发布我的问题之前阅读了该主题,但它不包含与我的问题相关的信息,但感谢您指出。