MySQL无法添加外键约束 错误码1215

执行下面SQL创建表的时候得到错误信息"Error Code: 1215. Cannot add foreign key constraint
"

CREATE SCHEMA IF NOT EXISTS `test` DEFAULT CHARACTER SET utf8 ;
    USE `test` ;

CREATE TABLE IF NOT EXISTS `test`.`book` (
  `ID` INT UNSIGNED NOT NULL,
  `storeID` INT UNSIGNED NOT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE INDEX `storeID_UNIQUE` (`storeID` ASC))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `test`.`shoppingCartItem` (
  `userID` INT UNSIGNED NOT NULL,
  `bookID` INT UNSIGNED NOT NULL,
  `storeID` INT UNSIGNED NOT NULL,
  PRIMARY KEY (`userID`, `bookID`),
  INDEX `fk_idx` (`bookID` ASC, `storeID` ASC),
  CONSTRAINT `fk`
    FOREIGN KEY (`bookID` , `storeID`)
    REFERENCES `test`.`book` (`ID` , `storeID`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
阅读 2.7k
1 个回答

主外键类型不一致,查看下主键和外键的数据类型和设置的长度是否一致?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题