2010-08-10 7 views

Répondre

4

Il est possible d'utiliser des tables de base de données de différentes bases de données dans une requête, si votre connexion actuelle est autorisé à accéder à deux bases de données.

Il vous suffit de préfixer chaque nom de table avec le nom de base de données:

SELECT * FROM `databasename`.`tablename` ... 
... LEFT JOIN `databasename_2`.`tablename`.... 
+0

Pas tous les tableaux. Juste ces tables qui ne sont pas dans la base de données actuellement sélectionnée;) – Mchl

+1

Comment puis-je prendre la connexion pour permettre l'accès à la base de données? Donnez-moi un exemple – Giffary

+0

@Giffary: cela dépend des privilèges qui ont été configurés sur le serveur MySQL pour l'utilisateur que vous connectez. – Mchl

3

Une « base de données » en termes MySQL est une unité logique au sein d'un serveur de base de données. Pour interroger des tables à partir de deux bases de données séparées, voir la réponse de Pekka (bien que des restrictions s'appliquent - certains JOINS peuvent ne pas fonctionner comme prévu. Pour plus d'informations, consultez les docs MySQL.)

Si vous souhaitez interroger deux bases de données différentes serveurs dans la même déclaration, alors la réponse est que ce n'est pas possible. Vous devrez créer deux connexions distinctes et interroger chacune d'elles individuellement.

Questions connexes