Bonjour tout le monde,
Si je post ici c'est parce que j'ai un problème avec mes contraintes de type Foreign Key.
Au moment de la création de mes tables je reçois une erreur 1005 (errno 105). J'ai cherché sur les différents forums et les solutions que j'y ai trouvé n'ont pas résolus mon problème.
Voilà la partie du code qui plante (en fait une partie puisque j'ai cette même erreur sur d'autres tables:
CREATE TABLE `apdu` (
`NomCommandeAPDU` varchar(45) NOT NULL,
`CommandeAPDU` text NOT NULL,
PRIMARY KEY (`NomCommandeAPDU`,`CommandeAPDU`(100))
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `apdu_simple` (
`NomCommandeAPDU` varchar(45) NOT NULL,
`CommandeAPDU` text NOT NULL,
PRIMARY KEY (`NomCommandeAPDU`,`CommandeAPDU`(100)),
CONSTRAINT `FK_APDU` FOREIGN KEY (`NomCommandeAPDU`,`CommandeAPDU`(100))
REFERENCES `apdu`(`NomCommandeAPDU`,`CommandeAPDU`)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Je pense que mon problème vient du fait que CommandeAPDU soit de type text. En effet, j'ai testé en retirant une des deux clés étrangère. Quand je retire NomCommandeAPDU l'erreur est toujours là, par contre lorsque je retire CommandeAPDU ça fonctionne.
J'ai testé en rajoutant un et/ou des index sur mes deux clés mais ça n'a rien changé...
Si quelqu'un a une solution please, ça fait plusieurs heures que je suis dessus.
Merci d'avance et bonne journée
Configuration: Windows XP
Firefox 3.0