Bonjour, voici un extrait de mon script de création :
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
 
 
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 : 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
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 ?