


Explication détaillée de la méthode de requête liée aux bases de données croisées dans MySQL
May 28, 2017 am 09:40 AMCet article présente principalement la méthode query d'association entre bases de données dans mysql Les amis qui en ont besoin peuvent se référer au
Scénario métier : Association entre différentes bases de données. Requête de table
Par exemple, les tables à associer sont : Table A dans la base de données A sur la machine A && Table B dans la base de données B sur la machine B.
Dans ce cas, il est impossible d'exécuter "select A.id,B.id from A left join B on ~~~;", mais les exigences métier sont immuables, le la conception de la base de données est immuable, ce qui est pénible. .
Solution : Créez une table B dans la base de données A sur la machine A. . .
Bien sûr, je ne plaisante pas. Nous utilisons une méthode de création de tables basée sur le moteur fédéré de MySQL.
Exemple d'instruction de création de table :
CREATE TABLE `table_name`(......) ENGINE =FEDERATED CONNECTION='mysql://[username]:[password]@[location]:[port]/[db-name]/[table-name]'
Prérequis : Votre MySQL doit prendre en charge le moteur fédéré (exécutez show moteurs ; vous pouvez voir s'il est pris en charge).
S'il y a un moteur FÉDÉRÉ, mais que le support est NON, cela signifie que votre mysql a ce moteur installé mais n'est pas activé, allez à la fin du fichier my.cnf Ajoutez une ligne fédérée et redémarrez mysql
S'il n'y a pas de ligne FEDERATED du tout, cela signifie que votre mysql n'a pas ce moteur installé, et vous ne pourrez pas jouer joyeusement . Il est préférable d'aller à l'entretien et à l'entretien de votre maison pour le faire. Eh bien, parce que la prochaine action est relativement importante, et je ne sais pas comment la faire
Explication : Le tableau créé via ; le moteur FEDERATED ne dispose que d'un fichier de définition de table en local, et le fichier de données existe dans la base de données distante. Ce moteur peut implémenter des fonctions d'accès aux données à distance similaires à DBLINK sous Oracle. C'est-à-dire que cette méthode de création de table créera uniquement un fichier de structure de table de la table B dans la base de données A. L'index, les données et autres fichiers de la table sont toujours dans la base de données B sur la machine B, ce qui est équivalent à juste Un raccourci vers la table B est créé dans la base de données A.
En conséquence, l'œuf ne fait plus mal. .
Quelques points à noter :
1. La structure de la table locale doit être exactement la même que celle de la table distante.
2. La base de données distante est actuellement limitée à MySQL
3 Les transactions ne sont pas prises en charge
4. La modification de la structure des tables n'est pas prise en charge
Commentaires supplémentaires. des autres internautes :
CREATE TABLE IF NOT EXISTS `logintoken` ( `id` int(11) NOT NULL AUTO_INCREMENT, `type` char(1) NOT NULL DEFAULT '0', `loginName` varchar(20) DEFAULT NULL, `token` varchar(2000) DEFAULT NULL, `tokenExpiredTime` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE =FEDERATED CONNECTION='mysql://root:root@192.168.5.102:3306/zysso/logintoken';
Pour utiliser la table des jetons de connexion à distance de 5.12, il vous suffit d'activer FEDERATED vous-même. Il n'est pas nécessaire de l'activer dans 5.12
.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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Compétences de traitement de structures de données volumineuses de PHP

Comment optimiser les performances des requêtes MySQL en PHP ?

Comment utiliser la sauvegarde et la restauration MySQL en PHP ?

Comment insérer des données dans une table MySQL en utilisant PHP ?

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ?

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment utiliser les procédures stockées MySQL en PHP ?

Comment créer une table MySQL en utilisant PHP ?
