【发布时间】:2016-04-05 07:00:56
【问题描述】:
当我创建一个数据库时,我在为这个数据库创建“主”表时遇到了一些困难。
我认为外键和主键之间存在类型差异,但没有。
那么谁能帮帮我?一定有什么我忽略了,但我找不到问题。
[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;
【问题讨论】:
-
您确定在尝试将外键添加到
terms_and_conditions表时遇到错误吗?player_result和supervisor_player表是否存在?如果您尝试创建没有Terms_Id外键的player表会发生什么?
标签: mysql sql database database-design workbench