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

MySql opdatere to tabeller på én gang

Det burde være muligt med en multi-table opdatering, som beskrevet i dokumentationen.

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

Bemærk:Multi-table understøtter ikke LIMIT, så dette kan forårsage mere sorg afhængigt af detaljerne.

Lagrede procedurer eller transaktioner kan være en bedre løsning.



  1. Hvordan replikeres kun INSERTs ikke SLETTER/OPDATERINGER på Slony Slave Node?

  2. uWSGI, Flask, sqlalchemy og postgres:SSL-fejl:dekryptering mislykkedes eller dårlig optagelse mac

  3. At få id'et for en række, jeg opdaterede i SQL Server

  4. Kan ikke bruge tabellen med navnet bruger i postgresql hibernate