MySQL错误1215:无法添加外键约束-重复错误

MySQL错误1215:无法添加外键约束-重复错误,mysql,Mysql,当我试图对我的新模式进行正向工程时,我得到了错误 错误1215:无法添加外键约束 我的外键列已编制索引,并且此列的数据类型与父表中引用的列的数据类型完全相同。我也在使用InnoDB。即使这样,我还是不断地犯错误。我在StackOverflow中引用了这么多链接,但在我的案例中没有任何结果。除了上述的事情,还有什么是没有被注意到的 -- ----------------------------------------------------- -- Table `Employee_Mana

当我试图对我的新模式进行正向工程时,我得到了错误

错误1215:无法添加外键约束

我的外键列已编制索引,并且此列的数据类型与父表中引用的列的数据类型完全相同。我也在使用InnoDB。即使这样,我还是不断地犯错误。我在StackOverflow中引用了这么多链接,但在我的案例中没有任何结果。除了上述的事情,还有什么是没有被注意到的

    -- -----------------------------------------------------
-- Table `Employee_Management`.`Employee`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Employee_Management`.`Employee` (
  `idEmployee` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(45) NOT NULL,
  `dateOfBirth` DATE NOT NULL,
  `dateOfJoining` DATE NOT NULL,
  `designation` VARCHAR(45) NOT NULL,
  `mobile` VARCHAR(13) NOT NULL,
  `clBalance` TINYINT NOT NULL,
  `elBalance` TINYINT NOT NULL,
  `slBalance` TINYINT NOT NULL,
  `gender` CHAR NOT NULL,
  `role` VARCHAR(30) NOT NULL,
  `email` VARCHAR(45) NOT NULL,
  `password` VARCHAR(45) NOT NULL,
  `authRole` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`idEmployee`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Employee_Management`.`Domain`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Employee_Management`.`Domain` (
  `idDomain` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(45) NOT NULL,
  `domainHead` INT NOT NULL,
  PRIMARY KEY (`idDomain`),
  INDEX `fk_DomainHead_idx` (`domainHead` ASC),
  CONSTRAINT `fk_DomainHead`
    FOREIGN KEY (`domainHead`)
    REFERENCES `Employee_Management`.`Employee` (`idEmployee`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;
错误:无法创建外键约束


但Domain表中的domainHead和Employee表中的ideemployee的日期类型相同,并且都使用InnoDB。即使这样,错误仍在重复。

实际上问题出在我使用的MySQL工作台上。该应用程序与我的Ubuntu 15.04系统不兼容。之后,我通过终端成功地创建了相同的数据库。

对我来说很有用。你能改进你的例子使错误重现吗?很好。。。但实际上,数据库包含这么多表,我只发布了显示错误的部分。此外,在Employee表本身中,一半的列根本没有生成。有点奇怪…请确保在多个表中没有相同的约束名称
fk_DomainHead
。约束名称在整个数据库中必须是唯一的。否。除了查询中的那个位置之外,我没有在任何地方使用该约束名称。