Problème de foreign key (errno: 150 can't create table)
Bonjour,
J'essaye de mettre en place une clé étrangère entre ces deux tables (documents et consultation). Le but sera d'affecter TRUE au champ "consulte" de consultation, quand un document avec une version sera consulté.
Le code a été généré par MySQL Workbench (très pratique :ccool:), j'utilise WAMP 2.0.
Donc quand j'exécute la requête pour créer la table "documents", pas de soucis, alors que la requête pour créer la table consultation me donne une erreur 150.
Pouvez-vous m'éclairer ? Merci !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| -- -----------------------------------------------------
-- Table `XXX`.`documents`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `XXX`.`documents` (
`id_documents` INT NOT NULL AUTO_INCREMENT ,
`pn` INT NOT NULL ,
`version` VARCHAR(10) NOT NULL ,
`nbpage` INT NOT NULL ,
`url` VARCHAR(45) NOT NULL ,
`scan` TINYINT(1) NOT NULL ,
`doc_type` INT NOT NULL ,
`id_util` INT NOT NULL ,
PRIMARY KEY (`id_documents`) ,
INDEX `fk_utilisateur` (`id_util` ASC) ,
INDEX `fk_typedoc` (`doc_type` ASC) ,
CONSTRAINT `fk_utilisateur`
FOREIGN KEY (`id_util` )
REFERENCES `XXX`.`utilisateurs` (`id_utilisateurs` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_typedoc`
FOREIGN KEY (`doc_type` )
REFERENCES `XXX`.`type` (`id_type` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| -- -----------------------------------------------------
-- Table `XXX`.`consultation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `XXX`.`consultation` (
`id_consultation` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`version_doc` VARCHAR(10) NOT NULL ,
`consulte` TINYINT(1) NOT NULL ,
PRIMARY KEY (`id_consultation`) ,
CONSTRAINT `c`
FOREIGN KEY (`version_doc` )
REFERENCES `XXX`.`documents` (`version` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB; |