UPDATE MySQL Multi Database (Cross Database Update)

Voici une requête SQL fonctionnant sous MySQL qui peut se révéler très utile. Cette syntaxe permet d’effectuer un UPDATE classique sur une table MySQL en piochant les données depuis une autre base de données MySQL. Il s’agit d’un Cross Database Update pour le terme technique. Attention tout de même, les deux bases de données doivent se situer sur le même serveur MySQL. Il ne s’agit pas d’une requête croisée sur une base de données distante.

Voici la requête que j’utilise pour ce genre d’opérations :

UPDATE database_1.table
JOIN   database_2.table
ON     database_1.table.id = database_2.table.id
SET    database_1.table.field_1 = database_2.table.field_1, 
       database_1.table.field_2 = database_2.table.field_2

De cette manière il devient très simple de dupliquer des données entre deux bases MySQL.

  1. GATEN says:

    C’est curieux, j’obtiens un :

    ERROR 1054 (42S22): Unknown column ‘field_1’ in ‘NEW’

    alors que field_1 existe bien.

  2. Mijsoot says:

    Merci !!!!
    ça fait 2 jours que je cherche cette satanée syntaxe (pour parler poliment !).

    J’avais bien réussi à visualiser ce que je cherché en faisaint

    SELECT
    A.champs_A_1, A.champs_A_2, B.champs_B_1, B.champs_B_2
    FROM
    Base_A.table_A AS A
    INNER JOIN
    Base_B.table_B AS B
    ON
    A.champs_A_1 = B.champs_B_1

    Mais je n’arrivais pas à faire l’UPDATE !
    Encore merci 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nos partenaires

PrestaShop

PrestaShop nous fait confiance en nous délivrant la certification Expert qui démontre notre expertise concernant leur logiciel e-commerce. Nous avons également obtenu deux certifications officielles PrestaShop Fullstack Developer.

PayPlug

PayPlug est la solution de paiement française qui simplifie le paiement pour l’ensemble des TPE et PME de l'e-commerce, aussi bien en ligne qu’en magasin.

Klaviyo

Klaviyo, leader mondial du marketing automation, propose une solution complète qui s'interface avec vos canaux de vente.