mysql - 创建数据库时: Error Code: 1215.无法添加外键约束

标签 mysql sql database database-design workbench

当我创建数据库时,在为此数据库创建“主”表时遇到了一些困难。

我认为外键和主键之间存在类型差异,但事实并非如此。

那么有人可以帮我吗?一定有什么地方我忽略了,但我找不到问题所在。

[code]
-- -----------------------------------------------------
-- Table `boat`.`terms_and_conditions`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `boat`.`terms_and_conditions` (
  `Terms_And_Conditions_Id` INT NOT NULL,
  `Terms_And_Conditions_Doc` VARCHAR(255) NULL DEFAULT NULL,
  `Terms_And_Conditions_Date` DATE NULL DEFAULT NULL,
  PRIMARY KEY (`Terms_And_Conditions_Id`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `boat`.`player`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `boat`.`player` (
  `Player_Id` INT NOT NULL,
  `Player_Firstname` VARCHAR(45) NULL DEFAULT NULL,
  `Player_Lastname` VARCHAR(45) NULL DEFAULT NULL,
  `Player_Password` VARCHAR(45) NULL,
  `Player_Budget` DOUBLE NULL,
  `Terms_Id` INT NOT NULL,
  PRIMARY KEY (`Player_Id`),
  INDEX `fk_player_terms_and_conditions1_idx` (`Terms_Id` ASC),
  CONSTRAINT `fk_player_player_result1`
    FOREIGN KEY (`Player_Id`)
    REFERENCES `boat`.`player_result` (`Player_Id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_player_supervisor_player1`
    FOREIGN KEY (`Player_Id`)
    REFERENCES `boat`.`supervisor_player` (`Player_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_player_terms_and_conditions1`
    FOREIGN KEY (`Terms_Id`)
    REFERENCES `boat`.`terms_and_conditions` (`Terms_And_Conditions_Id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

最佳答案

问题出在玩家表的主键上。它被配置为充当其他表的外键。

关于mysql - 创建数据库时: Error Code: 1215.无法添加外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36419284/

相关文章:

php - 数据库未捕获PHP文件中的任何内容

javascript - 如何找出 JavaScript Promise 中返回的类型

mysql - 如何计算一个表中不同行和列之间的timestampdiff?

sql - 峰度函数表现不佳

mysql - 如何找到层次树中的所有子节点

mysql - SQL:将员工分组在一行中

php - 使用 3 select 向先前的查询添加约束

mysql - mysql过程中的语法错误错误代码1064

mysql - 如何选择行和过滤器之间的时间差

php - 从具有动态表头的文件导入 csv