sql >> Databasteknik >  >> RDS >> Mysql

Vad är syftet med SELECT ... *FÖR UPPDATERING*?

http://dev.mysql.com/doc /refman/5.0/en/innodb-locking-reads.html

Det har att göra med att låsa bordet i transaktioner. Låt oss säga att du har följande:

START TRANSACTION;
SELECT .. FOR UPDATE;
UPDATE .... ;
COMMIT;

efter att SELECT-satsen körts, om du har en annan SELECT från en annan användare, körs den inte förrän din första transaktion träffar COMMIT-raden.

Observera också att FOR UPDATE utanför en transaktion är meningslöst.



  1. Oracle Hierarchical Query

  2. Räkna distinkta värden för varje kolumn individuellt

  3. Lagra en PDF-fil i MySQL

  4. Beräkna summan av tidskolumnen i PostgreSql