Maison base de données tutoriel mysql Explication détaillée de la méthode de requête liée aux bases de données croisées dans MySQL

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 AM
mysql 关联查询

Cet 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]'
Copier après la connexion

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';
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Compétences de traitement de structures de données volumineuses de PHP Compétences de traitement de structures de données volumineuses de PHP May 08, 2024 am 10:24 AM

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

Comment optimiser les performances des requêtes MySQL en PHP ? Comment optimiser les performances des requêtes MySQL en PHP ? Jun 03, 2024 pm 08:11 PM

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

Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Jun 03, 2024 pm 12:19 PM

Comment utiliser la sauvegarde et la restauration MySQL en PHP ?

Comment insérer des données dans une table MySQL en utilisant PHP ? Comment insérer des données dans une table MySQL en utilisant PHP ? Jun 02, 2024 pm 02:26 PM

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 ? Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ? May 05, 2024 am 09:06 AM

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 corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment utiliser les procédures stockées MySQL en PHP ? Comment utiliser les procédures stockées MySQL en PHP ? Jun 02, 2024 pm 02:13 PM

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

Comment créer une table MySQL en utilisant PHP ? Comment créer une table MySQL en utilisant PHP ? Jun 04, 2024 pm 01:57 PM

Comment créer une table MySQL en utilisant PHP ?

See all articles