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 ), 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Partager