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é
La suivante fonctionne, mais ne retourne aucun résultat...
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;
Voici les scripts de création de mes tables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM compte NATURAL JOIN forfait WHERE compte.id_compte=1;
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
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;
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?
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 ;
Partager