Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment mettre à jour deux tables en une seule instruction ?

En supposant que chaque identifiant apparaisse dans les deux tables (idéalement une seule fois) :

update tmpList inner join table1 using (id) inner join table2 using (id)
    set table1.ts = tmpList.ts_value, table2.ts=tmpList.ts_value;

Mise à jour :le simple fait d'utiliser des jointures gauches au lieu de jointures internes rend cela possible même pour les identifiants qui ne se trouvent que dans une seule table - la clause set inapplicable semble simplement être ignorée ; J'aurais dû essayer plus tôt, apparemment.