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.
C’est curieux, j’obtiens un :
ERROR 1054 (42S22): Unknown column ‘field_1’ in ‘NEW’
alors que field_1 existe bien.
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 😉