【问题标题】:Database MySQL Query Error [duplicate]数据库 MySQL 查询错误 [重复]
【发布时间】:2013-12-05 04:48:25
【问题描述】:

我正在尝试将语句插入到我的数据库中。以下是插入语句:

insert into advisor values ('00001', '11111');
insert into advisor values ('00002', '22222');
insert into advisor values ('00003', '33333');
insert into advisor values ('00004', '44444');
insert into advisor values ('00005', '55555');
insert into advisor values ('00006', '66666');
insert into advisor values ('00007', '77777');
insert into advisor values ('00008', '88888');
insert into advisor values ('00009', '99999');
insert into advisor values ('00010', '10101');"

我收到了一个错误:

insert into advisor values ('00004', '44444');

出现此错误:

Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails     (`university database`.`instructor`, CONSTRAINT instructor_ibfk_1 FOREIGN KEY (`department_name`) REFERENCES `department` (`department_name`) ON DELETE SET NULL)

任何人都可以为这个错误提供任何知识吗?

谢谢!

【问题讨论】:

  • department 表中的department_name 应该包含一个值为0004(或4444)的记录,以引用键为准
  • @JonathandeM。 @HarshaBhat 这个错误怎么办?它引用的是什么不正确的?错误代码:1452。无法添加或更新子行:外键约束失败(university database.instructs,CONSTRAINT instructs_ibfk_1 FOREIGN KEY(course_idsection_idsemesteryear)参考文献sectioncourse_idsection_idsemesteryear

标签: mysql sql database


【解决方案1】:

错误是不言自明的。您输入的值必须首先存在于外键约束中的引用表中。

您还应该在INSERT 语句中使用列列表。

【讨论】:

  • 我认为操作不知道外键是什么。你能给他一个简单的解释吗?
  • @JorgeCampos 否。需要对所提出的问题有最低限度的了解。
  • @FreshPrinceOfSO 谢谢!我在引用的表中发现了错误。小错误把它扔掉!
  • @FreshPrinceOfSO 这个错误怎么办?它引用的是什么不正确的?错误代码:1452。无法添加或更新子行:外键约束失败(university database.instructs,CONSTRAINT instructs_ibfk_1 FOREIGN KEY(course_idsection_idsemesteryear)参考section (course_id, section_id, semester, year)
  • @user2856210 这是一个复合键引用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-26
  • 2012-08-29
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 2016-03-26
相关资源
最近更新 更多