首先我正在使用LibreBase和phpmyadmin
简而言之,我有2张表学生和学生反馈表
Student contains:
StudentUserID(primary key) type=int(11) Null=no Default=none Extra=Auto_Increment
FirstName type=varchar(50) Null=Yes Default=Null
Surname type=varchar(50) Null=Yes Default=Null
StudentFeedback contains:
FeedbackID(primary key) type=int(11) Null=no Default=none Extra=Auto_Increment
Student(I think is foreign key) type=int(11) Null=Yes Default=Null
Feedback type=varchar(150) Null=no Default=none
现在我想要发生的是学生可以使用librebase上的表单创建,然后将其添加到表格中。
1 Joe Bloggs, 2 Bill Gates, 3 Steve Jobs.
但是我创建了另一个表单,然后将数据添加到反馈表,以便Joe Bloggs或者比尔或史蒂夫可以使用此表单输入用户ID,然后添加反馈。然后,这些数据将通过各种查询和报告显示,我相信我能做到。当我尝试通过librebase表单添加数据时出现问题。 添加新学生的表单包括:
Firstname (textbook)
Surname (textbox)
然而,数据不会输入/输入到表中,因为librebase会抛出一个错误框
Error inserting the new record SQL Status: 23000 Error code: 1452 Cannot add or update a child row: a foreign key constraint fails >(`mydb`.`student`, CONSTRAINT `student_ibfk_1` FOREIGN KEY (`StudentUserID`) >REFERENCES `StudentFeedback` (`Student`) ON DELETE CASCADE ON UPDATE >CASCADE)
如果我尝试将数据添加到我创建的表单中以向StudentFeedback表添加反馈,则会出现相同的错误
道歉,如果接下来没有任何意义,我很乐意回答你可能遇到的任何问题。
答案 0 :(得分:0)
创建外键时,您必须提供引用属性: ON UPDATE CASCADE ON DELETE CASCADE
请浏览引用属性。
答案 1 :(得分:0)
我现在解决了这个问题,我有一个约束来阻止输入或某些数据,因此使用sql查询查看我的所有数据库约束,然后使用另一个查询来删除相关约束。之后,它就像添加外键一样简单,确保我在删除级联上使用更新级联