簡體   English   中英

SQL轉發錯誤1215:無法添加外鍵約束

[英]SQL forwarding Error 1215: Cannot add foreign key constraint

我使用MySQL Workbench的正向工程功能,而在創建表“ developedby”時會發生此錯誤。

我沒有更改工作台生成的代碼。 參見下面的源代碼:

-- -----------------------------------------------------
-- Schema Game_buying_db
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `Game_buying_db` DEFAULT CHARACTER SET utf8 ;
USE `Game_buying_db` ;

-- -----------------------------------------------------
-- Table `Game_buying_db`.`Customer`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Game_buying_db`.`Customer` (
  `cid` INT NOT NULL,
  `cname` VARCHAR(45) NULL DEFAULT NULL,
  `cage` VARCHAR(45) NULL DEFAULT NULL,
  `ccity` VARCHAR(45) NULL DEFAULT NULL,
  PRIMARY KEY (`cid`));


-- -----------------------------------------------------
-- Table `Game_buying_db`.`Developer`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Game_buying_db`.`Developer` (
  `did` INT NOT NULL,
  `dname` VARCHAR(45) NULL DEFAULT NULL,
  `demail` VARCHAR(45) NULL DEFAULT NULL,
  `dcity` VARCHAR(45) NULL DEFAULT NULL,
  PRIMARY KEY (`did`));


-- -----------------------------------------------------
-- Table `Game_buying_db`.`Game`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Game_buying_db`.`Game` (
  `gid` INT NOT NULL,
  `gname` VARCHAR(45) NULL DEFAULT NULL,
  `price` INT NOT NULL,
  `publishdate` DATETIME NOT NULL,
  PRIMARY KEY (`gid`));


-- -----------------------------------------------------
-- Table `Game_buying_db`.`DevelopedBy`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Game_buying_db`.`DevelopedBy` (
  `gid` INT NOT NULL,
  `did` INT NOT NULL,
  PRIMARY KEY (`gid`, `did`),
  INDEX (`did` ASC),
  CONSTRAINT ``
    FOREIGN KEY (`gid`)
    REFERENCES `Game_buying_db`.`Game` (`gid`),
  CONSTRAINT ``
    FOREIGN KEY (`did`)
    REFERENCES `Game_buying_db`.`Developer` (`did`));

正如我檢查的那樣,外鍵聲明中相關的數據類型是一致的,因此這里可能存在其他一些問題。

請幫忙!

我認為,“ gid ”或“ did ”數據類型在developedBy表是不一樣的主鍵在引用表..你需要檢查的數據類型為他們,並確保您使用的是相同的數據類型,可以將主鍵數據類型是INT UNSIGNED

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM