Bonjour, j'essaie de créer une table d'association bien simple avec le script suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
CREATE TABLE  `cd` (
  `c` int(10) unsigned NOT NULL,
  `d` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`c`,`d`),
  CONSTRAINT `FK_cd_2` FOREIGN KEY (`d`) REFERENCES `d` (`id`),
  CONSTRAINT `FK_cd_1` FOREIGN KEY (`c`) REFERENCES `c` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Tout semble se créer comme il faut mais lorsque je fait afficher le code de création de la table avec MySQL Query Browser, j'obtient le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
DROP TABLE IF EXISTS `test`.`cd`;
CREATE TABLE  `test`.`cd` (
  `c` int(10) unsigned NOT NULL,
  `d` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`c`,`d`),
  KEY `FK_cd_2` (`d`),  -- ????
  CONSTRAINT `FK_cd_1` FOREIGN KEY (`c`) REFERENCES `c` (`id`),
  CONSTRAINT `FK_cd_2` FOREIGN KEY (`d`) REFERENCES `d` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
La ligne "KEY `FK_cd_2` (`d`)," est ajoutée et m'empêche d'entrer mes données correctement.

Est-ce que c'est un bug connu ? Comment faire pour que ma table se crée comme demandé ?

merci de votre aide