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

MySql met à jour deux tables à la fois

Cela devrait être possible avec une mise à jour multi-tables, comme décrit dans la documentation.

http://dev.mysql.com/doc/refman/5.5 /fr/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

Remarque :Multi-table ne prend pas en charge LIMIT, cela pourrait donc causer plus de problèmes en fonction des détails.

Les procédures stockées ou les transactions peuvent être une solution plus agréable.