当前位置: 首页 > 知识库问答 >
问题:

MySql - 无法添加或更新子外键约束失败 [重复]

郤令
2023-03-14

我有两张桌子,“预订”和“isBooked”。我想在isBooked表中添加值。但我不断收到错误“无法添加或更新子外键约束失败”。

CREATE TABLE booking (
    bookingID INT AUTO_INCREMENT,
    customerID INT,
    startDate DATE,
    endDate DATE,
    dateBookedOn  TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    employeeID int,
    PRIMARY KEY (bookingID),
    INDEX idx_start (startDate),
    INDEX idx_end (endDate),
    FOREIGN KEY (customerID) REFERENCES customer(CustomerID)
);

CREATE TABLE isBooked(
    BookingID int,
    DogID int,
    RunID int,
    foreign key (RunID) references Run(RunID),
    foreign key (DogID) references Dog(dogID),
    foreign key (BookingID) references Booking(BookingID)
);


insert into isbooked values(1, 1, 1);

有人能告诉我为什么在尝试将值插入“isBooked”时会出现此错误吗?

共有1个答案

施梓
2023-03-14

您的isbook表对其他三个表的引用有外键约束:

foreign key (RunID) references Run(RunID),
foreign key (DogID) references Dog(dogID),
foreign key (BookingID) references Booking(BookingID)

该约束确保无论您输入什么值,它都需要与被引用表中的某一行相匹配。

因此,您得到此错误的原因是因为在一个(或可能所有)引用的表中没有匹配的记录。首先,您需要添加Run、Dog和Booking以及您在插入中使用的ID,然后才能将记录添加到isbooking。

 类似资料:
  • 如果我插入: 我用visual studio代码和mysql控制台的源代码编写代码 第一表: 第二表: 第三表: 我收到消息: 错误1452(23000):无法添加或更新子行:外键约束失败(。,约束外键()在更新级联的删除级联上引用() 请帮帮我:(,,thx:)

  • 我有两个表,当我试图保存通常的实体,扔 组织。springframework。刀。DataIntegrityViolationException:无法添加或更新子行:外键约束失败(,约束外键(,)引用(,));SQL[n/a];约束[null];嵌套的异常是org。冬眠例外ConstraintViolationException:无法添加或更新子行:外键约束失败(,constraint外键(,)参

  • 问题内容: 当我不想相互连接两个表时,我得到以下消息:#1452-无法添加或更新子行:外键约束失败....我想从facebook_users表格中连接oauth_uid2(主键)外键为oauth_uid2的错误列表。但是我总是得到这个信息。我已经清除了数据,但没有任何效果。在表users_facebook中,我还有1条记录。 1452-无法添加或更新子行:外键约束失败(。,在更新级联上删除级联时使

  • 我知道在这个问题上有很多问题,但我一直未能解决。我正在做一个图形界面来添加/删除员工和管理缺勤。 我一直在阅读和测试那些建议stackOverflow1,但我不能更改数据库,因为它已经由我们的教授给出了。 来自外键的值已经在表“service”中,我在代码中称之为“department”。 我有以下数据库(对于我得到问题的表): 在应用程序中,您可以看到这里和下面的图片,我必须修改员工数据,并将其

  • 当我不想将两个表相互连接时,我收到消息:#1452 - 无法添加或更新子行:外键约束失败....我想使用外键oauth_uid2将oauth_uid2(主键)从facebook_users选项卡连接到错误选项卡。但我总是收到这个信息。我已经清除了我的数据,但没有任何效果。同样在表中users_facebook我有 1 条记录。 1452-无法添加或更新子行:外键约束失败(., CONSTRAINT

  • 错误代码:1452。无法添加或更新子行:外键约束失败(.,约束外键()引用()) 我看过其他关于这个话题的帖子,但没有运气。我是不是在监督什么或者知道该怎么做?