Problème pour créer une clé étrangère
Bonjour, voici un extrait de mon script de création :
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
|
CREATE TABLE `membre` (
`Id` int(10) unsigned NOT NULL auto_increment,
`Nom` varchar(45) default NULL,
`Prenom` varchar(45) default NULL,
`email` varchar(45) default NULL,
`photo` text,
`equipe` varchar(45) default NULL,
`tel` varchar(20) default NULL,
`fax` varchar(20) default NULL,
`bureau` varchar(5) NOT NULL default '',
`id_statut` varchar(30) NOT NULL default '',
`login` varchar(10) default NULL,
`password` varchar(10) default NULL,
PRIMARY KEY (`Id`),
FOREIGN KEY (`id_statut`) REFERENCES statut(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=125 ;
CREATE TABLE `statut` (
`id` int(3) NOT NULL auto_increment,
`lib_fr` varchar(30) NOT NULL default '',
`lib_eng` varchar(30) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; |
je voudrais donc créer une contrainte de référence avec l'id du statut entre l'id_statut du membre et l'id de la table statut.
J'obtiens l'erreur suivante sous phpMyAdmin 2.6.1 à la création :
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 27
| Erreur
requête SQL:
--
-- Structure de la table `membre`
--
CREATE TABLE `membre` (
`Id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
`Nom` varchar( 45 ) default NULL ,
`Prenom` varchar( 45 ) default NULL ,
`email` varchar( 45 ) default NULL ,
`photo` text,
`equipe` varchar( 45 ) default NULL ,
`tel` varchar( 20 ) default NULL ,
`fax` varchar( 20 ) default NULL ,
`bureau` varchar( 5 ) NOT NULL default '',
`id_statut` varchar( 30 ) NOT NULL default '',
`login` varchar( 10 ) default NULL ,
`password` varchar( 10 ) default NULL ,
PRIMARY KEY ( `Id` ) ,
KEY `id_statut` ( `id_statut` ) ,
FOREIGN KEY ( id_statut ) REFERENCES statut( id )
) ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT =125
MySQL a répondu:
#1005 - Ne peut cr�er la table '.\miv\membre.frm' (Errcode: 150) |
une idée ?