Mysql
 sql >> Database >  >> RDS >> Mysql

Come aggiornare due tabelle in un'unica istruzione?

Supponendo che ogni ID appaia in entrambe le tabelle (idealmente solo una volta):

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

Aggiornamento:il semplice utilizzo di left join invece di inner join lo fa funzionare anche per id che si trovano solo in una tabella - la clausola set inapplicabile sembra essere stata semplicemente saltata; Avrei dovuto provarlo prima, a quanto pare.