[RESOLU] Erreur SQL #1215

Eléphant du PHP | 95 Messages

20 mai 2014, 10:37

L'erreur #1215 dit qu'il est impossible d'ajouter la FOREIGN KEY de cette table : idDroit
Quelqu'un a t'il une piste, j'ai tout essayé!
Voici mon code:
CREATE TABLE IF NOT EXISTS `bme-stats`.`Groupe` (
  `idGroupe` INT(11) NOT NULL,
  `nom` VARCHAR(45) NULL DEFAULT NULL,
  `idDroit` TINYINT(3) UNSIGNED NOT NULL,
  PRIMARY KEY (`idGroupe`),
  INDEX `fk_idDroitG` (`idDroit` ASC),
  CONSTRAINT `fk_groupe_droit`
    FOREIGN KEY (`idDroit`)
    REFERENCES `bme-stats`.`Droit` (`idDroit`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
La b!te et le couteau sont bien souvent les meilleurs outils...mais aussi et surtout les seuls qui sont toujours à disposition!!

Eléphant du PHP | 95 Messages

20 mai 2014, 11:33

J'utilise MySQLWorkbench pour mettre a jour automatiquement les modifications du modèle, visiblement l'erreur vient de ce produit... après relecture complète du script de création de la base, une clé étrangère existait déjà sur l'identifiant de la table groupe alors que la table elle-même n'était pas encore créée! L'inversion de la création des deux tables dans le script a fini par régler mon problème!
Bref c'est un peu la bouse de l'année ce soft et vive Win'Design.
La b!te et le couteau sont bien souvent les meilleurs outils...mais aussi et surtout les seuls qui sont toujours à disposition!!