MySQL 5 - #1005 - Can't create table
Bonjour,
J'utilise MySQL Workbench et lorsque j'exécute mes instructions DDL j'obtiens l'erreur suivante :
Code:
1 2
|
#1005 - Can't create table './products.frm' (errno: 121) |
Ci-dessous une description de mes tables (categories, sections, products) :
Code:
1 2 3 4 5 6
|
CREATE TABLE IF NOT EXISTS `categories` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(80) NOT NULL ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
CREATE TABLE IF NOT EXISTS `sections` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`category_id` INT UNSIGNED NOT NULL ,
`name` VARCHAR(80) NOT NULL ,
PRIMARY KEY (`id`) ,
INDEX `fk_categories` (`category_id` ASC) ,
CONSTRAINT `fk_categories`
FOREIGN KEY (`category_id` )
REFERENCES `categories` (`id` )
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
CREATE TABLE IF NOT EXISTS `products` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`category_id` INT UNSIGNED NOT NULL ,
`section_id` INT UNSIGNED NOT NULL ,
`created_at` DATETIME NOT NULL ,
`label` VARCHAR(100) NOT NULL ,
PRIMARY KEY (`id`) ,
INDEX `fk_categories` (`category_id` ASC) ,
INDEX `fk_sections` (`section_id` ASC) ,
CONSTRAINT `fk_categories`
FOREIGN KEY (`category_id` )
REFERENCES `categories` (`id` )
ON DELETE CASCADE
ON UPDATE NO ACTION,
CONSTRAINT `fk_sections`
FOREIGN KEY (`section_id` )
REFERENCES `sections` (`id` )
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB; |
J'ai parcouru plusieurs forums et ce problème survient généralement lorsque le type de la clé de référence et celui de la clé étrangère sont différents. Malheureusement pour moi, il ne s'agit pas de ça. J'ai peut être mal organisé/conçu mes tables.
Quelqu'un a-t-il déjà eu ce problème ou dans le meilleur des cas sait comment le résoudre ?
D'avance merci pour votre aide,
Yvan