私はproducts_types
、categories
とsubcategories
テーブルを持っているデータベースを作成するためにmysql_workbench
を使用しています。 category_id
およびsubcategory_id
はそれぞれcategories
およびsubcategories
テーブルを参照する外部キーです。ときときworkbench
からmysql database on phpMyAdmin
にI forward engineer
このモデルは、これはエラーと一緒に正確なコードである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'が存在します –
あなたは外部キーとは違うcontraints(both)の名前を変更しようとしましたか? – jonju