我正在使用mysql_workbench
创建数据库我有products_types
,categories
和subcategories
表。 category_id
和subcategory_id
分别是引用categories
和subcategories
表的外键。当我forward engineer
这种模式从workbench
到mysql database on phpMyAdmin
它给误差sql中的外键表中的重复键
Can't write; duplicate key in table 'product_types'
这是错误沿着确切的代码。
Executing SQL script in server
ERROR: Error 1022: Can't write; duplicate key in table 'product_types'
SQL Code:
-- -----------------------------------------------------
-- Table `argo_project_01_2`.`product_types`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `argo_project_01_2`.`product_types` (
`id` INT NOT NULL,
`category_id` INT NULL,
`subcategory_id` INT NULL,
`title` VARCHAR(100) NULL,
`description` TEXT NULL,
`status` INT NULL DEFAULT 0,
`created` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
`modified` TIMESTAMP NULL,
PRIMARY KEY (`id`),
INDEX `category_id_idx` (`category_id` ASC),
INDEX `subcategory_id_idx` (`subcategory_id` ASC),
CONSTRAINT `category_id`
FOREIGN KEY (`category_id`)
REFERENCES `argo_project_01_2`.`categories` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `subcategory_id`
FOREIGN KEY (`subcategory_id`)
REFERENCES `argo_project_01_2`.`subcategories` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
SQL script execution finished: statements: 9 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch
查询出了什么问题?
这是你所做的一切吗?在尝试添加数据之前它会爆炸?你还没有一个名为product_types的表? – Jonny
不,我没有'product_types'表,但是有'categories'和'subcategories'存在 –
您是否尝试过重命名与外键不同的约束(两者)? – jonju