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