我无法添加新行,Mysql中的外键约束失败

时间:2018-02-21 16:24:31

标签: mysql

我使用以下代码创建了两个表UserCaisse

CREATE TABLE IF NOT EXISTS `GGC`.`User` (
  `IdUser` INT NOT NULL,
  `LibUser` VARCHAR(50) NULL,
  PRIMARY KEY (`IdUser`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `GGC`.`Caisse` (
  `IdCais` INT NOT NULL AUTO_INCREMENT,
  `LibCais` VARCHAR(50) NULL,
  `RefCais` VARCHAR(50) NULL,
  `MontantCais` FLOAT NULL,
  `IdUser` INT NOT NULL,
  PRIMARY KEY (`IdCais`),
  INDEX `fk_Caisse_User1_idx` (`IdUser` ASC),
  CONSTRAINT `fk_Caisse_User1`
    FOREIGN KEY (`IdUser`)
    REFERENCES `GGC`.`User` (`IdUser`))
ENGINE = InnoDB;

但是当我尝试添加现在行时的问题我不断收到此错误消息:

错误:#1452 - 无法添加或更新子行:外键约束失败(GGCcaisse,CONSTRAINT fk_Caisse_User1 FOREIGN KEY(IdUser)参考UserIdUser))

注意:虽然我在表格用户中有一些数据

add new row in table Caisse

1 个答案:

答案 0 :(得分:0)

问题解决了,我将表的类型更改为InnoDB,并且可以正常工作。