Aller au contenu

Travailler avec plusieurs bases MySQL


AllForEver

Sujets conseillés

Je me pose une question... :)

J'ai créé 2 bases MySQL, est-il possible de faire des jointures entre des tables de ces 2 bases ?

Je n'ai aucun souci pour faire des jointures entre tables dans une même base ; mais là je m'interroge...

Avec Php, je fait mon mysql_select_db() mais je ne vois pas comment faire pour sélectionner et travailler avec plusieurs bases en même temps. :blink:

Qu'en pensez-vous ? :unsure:

Lien vers le commentaire
Partager sur d’autres sites

A priori, on ne peut pas faire de jointure entre tables de bases différentes.

Tu peux ouvrir une base, prendre les résultats, et ouvrir la seconde base.

A priori pour ne pas prendre de risque il te faudra fermer la première base.

Pour solutionner ton problème, tu pourrais très bien :

- récupérer les résultats de la première base,

- récupérer les résultats de la seconde base,

- insérer le tout dans une table temporaire (dans une seule base)

et faire ta ... jointure sur cette table :D

Ca ne ressemblera plus à une jointure, mais l'idée est bien d'utiliser une table temporaire :D

D'ailleurs, quitte à créer une table temporaire, tu la créées sur la seconde base, et tu fais ta jointure entre la 2e table et la table temporaire ;)

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

Il est possible en mySQL de faire des requêtes multi-base.

Je te donne la syntaxe au niveau SQL, et pas au niveau PHP.

Tu peux être connecté soit à un serveur mySQL, soit à une base mySQL.

la syntaxe va être du type : schema.table.field

Ex : soit deux bases foo et bar

SELECT ft.Champ1, bt.Champ2
FROM foo.table1 ft INNER JOIN bar.table2 bt ON ft.PK = bt.FK
....

ça marche au moins en mySQL 5.0, en dessous il faut faire des tests

Modifié par anorci
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Tu peux être connecté soit à un serveur mySQL,  soit à une base mySQL.

Dans ce deuxièmecas, ne faut-il pas être connecté aux deux bases ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Dans ce deuxièmecas, ne faut-il pas être connecté aux deux bases ?

<{POST_SNAPBACK}>

Ma réponse se situé au niveau du serveur mySQL.

Au niveau communication php/mySQL, je sais pas, il faudrait tester.

J'aurai tendance à faire :

- connection au serveur

- requête multi-base

Les bases sont spécifiés dans la requête, c'est le serveur mySQL qui se charge des connection ( enfin il me semble ).

Il faudrait qu'un développeur php fasse les tests.

Lien vers le commentaire
Partager sur d’autres sites

Ma réponse se situé au niveau du serveur mySQL.

Au niveau communication php/mySQL, je sais pas, il faudrait tester.

J'aurai tendance à faire :

- connection au serveur

- requête multi-base

Les bases sont spécifiés dans la requête, c'est le serveur mySQL qui se charge des connection ( enfin il me semble ).

Il faudrait qu'un développeur php fasse les tests.

<{POST_SNAPBACK}>

après essais, c'est possible, oui ;)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...