对数据库进行正向工程时会收到以下错误:
错误:错误1022:无法写入;表“食谱”中的重复键
有什么建议吗?
我研究了stackoverflow中的问题,并认为如果我从其他表中更改了一些外键的名称(其中某些表具有相同的外键名称),则不会出错。相同的错误代码仍然存在。我的数据库的模式仅显示八个表中的两个。
在服务器中执行SQL脚本
ERROR: Error 1022: Can't write; duplicate key in table 'recipes'
SQL Code:
-- -----------------------------------------------------
-- Table `our_recipes`.`recipes`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `our_recipes`.`recipes` (
`recipe_id` INT NOT NULL,
`chef_id` INT NOT NULL,
`recipe_name` CHAR(25) NULL,
`description` LONGTEXT NULL,
`min_prep` VARCHAR(25) NULL,
`total_time` INT NULL,
`servings_min` VARCHAR(25) NULL,
`servings_max` VARCHAR(45) NULL,
`directions` VARCHAR(45) NULL,
`website_id1` VARCHAR(25) NOT NULL,
PRIMARY KEY (`recipe_id`),
INDEX `chef_id_idx` (`chef_id` ASC),
INDEX `website_id_idx` (`website_id1` ASC),
UNIQUE INDEX `recipe_id_UNIQUE` (`recipe_id` ASC),
CONSTRAINT `chef_id`
FOREIGN KEY (`chef_id`)
REFERENCES `our_recipes`.`chef` (`chef_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `website_id`
FOREIGN KEY (`website_id1`)
REFERENCES `our_recipes`.`website` (`website_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
我希望数据库架构中有八个表。我也希望没有错误。
答案 0 :(得分:0)
错误
错误1022:无法写入;表“食谱” SQL代码中的重复键
告诉您您要在表recipes
中插入一条记录,该记录具有表中已经存在的ID或唯一标识符。
要解决此问题,请确保插入语句脚本中没有重复的主键。