外键 "can not add or update a child row"

Foreign Key "can not add or update a child row"

首先我同时使用 LibreBase 和 phpmyadmin

简而言之,我有 2 table 个 Student 和一个 StudentFeedback table

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 上的表单创建学生,然后将其添加到 table,例如

1 Joe Bloggs, 2 Bill Gates, 3 Steve Jobs. 

但是我创建了另一个表单,然后将数据添加到反馈 table 以便 Joe Bloggs 或 Bill 或 Steve 可以使用此表单输入用户 ID,然后添加反馈。然后,这些数据将通过各种查询和报告显示,我相信我可以做到。当我尝试通过 librebase 表单添加数据时出现问题。 添加新学生的表格包括:

Firstname (textbook)
Surname (textbox)

然而,数据不会 enter/be 输入到 table,因为 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 添加反馈的表单中,则会出现相同的错误 table

抱歉,如果这几乎没有意义,我很乐意回答您的任何问题。

创建外键时必须提供引用属性: 更新级联 删除级联

请查看引用属性。

我现在已经解决了这个问题,我有一个约束阻止了输入或某些数据,所以使用 sql 查询来查看我所有的数据库约束,然后使用另一个查询来删除相关约束。之后就像添加外键一样简单确保我在更新级联上使用删除级联