sql >> Databáze >  >> RDS >> Mysql

MySql aktualizuje dvě tabulky najednou

Mělo by to být možné s aktualizací s více tabulkami, jak je popsáno v dokumentaci.

http://dev.mysql.com/doc/refman/5.5 /cs/update.html

UPDATE Table_One a INNER JOIN Table_Two b ON (a.userid = b.userid)
SET
  a.win = a.win+1, a.streak = a.streak+1, a.score = a.score+200,
  b.win = b.win+1, b.streak = b.streak+1, b.score = b.score+200 
WHERE a.userid = 1 AND a.lid = 1 AND b.userid = 1

Poznámka:Multi-table nepodporuje LIMIT, takže to může způsobit více zármutku v závislosti na detailech.

Uložené procedury nebo transakce mohou být hezčím řešením.



  1. Použití MySQL s Entity Framework

  2. Jak uložit pole nebo více hodnot do jednoho sloupce

  3. 10 hlavních důvodů, proč byste se měli učit SQL

  4. Jak formátovat výsledky dotazů SQLite v režimu TCL