Interroger plusieurs bases de données simultanément
L'accès aux données de plusieurs bases de données peut être une tâche complexe, en particulier lors de l'interrogation d'informations spécifiques réparties sur plusieurs bases de données.
Scénario
Considérez un situation où vous disposez de plusieurs bases de données WordPress distinctes, chacune représentant un site WordPress différent. Pour mettre à jour une fonctionnalité, vous devez interroger la liste des plugins actifs pour chaque instance WordPress. Les plugins actifs sont stockés dans la table 'wp_options' à l'aide de la clause WHERE :
WHERE option_name = 'active_plugins'
Défi
Le défi réside dans la récupération des informations sur les plugins actifs de toutes les bases de données et leur affichage comme un seul résultat SQL. Bien que la syntaxe database.tablename soit connue, déterminer comment appliquer l'instruction WHERE sur plusieurs bases de données reste le problème.
Solution
Pour interroger plusieurs bases de données simultanément, l'UNION un opérateur peut être employé. L'opérateur UNION combine plusieurs instructions SELECT en un seul résultat. En utilisant l'opérateur UNION, vous pouvez fusionner de manière transparente les résultats de chaque base de données en un seul résultat SQL consolidé.
La requête SQL suivante illustre comment y parvenir :
SELECT option_value FROM `database1`.`wp_options` WHERE option_name="active_plugins" UNION SELECT option_value FROM `database2`.`wp_options` WHERE option_name="active_plugins"
Cette requête récupère les actifs plug-in les données de « database1 » et « database2 » et rassemble les résultats dans un ensemble de résultats unique et complet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!