Versions :
phpMyAdmin 2.5.7
MySQL 4.0.18-nt-log sur le serveur localhost

Bonjour,
J'ai un souci avec l'exécution du NATURAL JOIN sur ma base mysql...
La requête qui suit, fonctionne, et me retourne le résultat souhaité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SELECT * FROM compte ,forfait WHERE compte.id_forfait = forfait.id_forfait AND compte.id_compte=1;
La suivante fonctionne, mais ne retourne aucun résultat...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SELECT * FROM compte NATURAL JOIN forfait WHERE compte.id_compte=1;
Voici les scripts de création de mes tables :
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
28
29
30
 
CREATE TABLE forfait (
  id_forfait INTEGER(6) UNSIGNED NOT NULL AUTO_INCREMENT,
  id_appli INTEGER(6) NOT NULL,
 
...
 
  PRIMARY KEY(id_forfait),
  INDEX FKid_appli(id_appli),
  FOREIGN KEY(id_appli)
    REFERENCES appli(id_appli)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;
 
CREATE TABLE compte (
  id_compte INTEGER(6) UNSIGNED NOT NULL AUTO_INCREMENT,
  id_forfait INTEGER(6) UNSIGNED NOT NULL,
  intitule VARCHAR(64) NOT NULL,
 ...
  min_ecoule TINYINT(2) UNSIGNED NULL,
  PRIMARY KEY(id_compte),
  INDEX FKid_forfait(id_forfait),
  FOREIGN KEY(id_forfait)
    REFERENCES forfait(id_forfait)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;
Lorsque que j'exporte les tables, voila le script SQL que phpMyAdmin me créer : apparemment, les "FOREIGN KEY" ont disparu!

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
 
CREATE TABLE `compte` (
  `id_compte` int(6) unsigned NOT NULL auto_increment,
  `id_forfait` int(6) unsigned NOT NULL default '0',
  `intitule` varchar(64) NOT NULL default '',
 
  ...
 
  `min_ecoule` tinyint(2) unsigned default NULL,
  PRIMARY KEY  (`id_compte`),
  KEY `FKid_forfait` (`id_forfait`)
) TYPE=InnoDB AUTO_INCREMENT=2 ;
 
 
CREATE TABLE `forfait` (
  `id_forfait` int(6) unsigned NOT NULL auto_increment,
  `id_appli` int(6) NOT NULL default '0',
  `intitule` varchar(64) NOT NULL default '',
  PRIMARY KEY  (`id_forfait`),
  KEY `FKid_appli` (`id_appli`)
) TYPE=InnoDB AUTO_INCREMENT=11 ;
La je coince... vous avez une idée? comment faire pour utiliser les natural join? y a t'il une configuration particulière à mettre en place?