sql >> Database >  >> RDS >> Mysql

Wat is het doel van SELECT ... *FOR UPDATE*?

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

Het heeft te maken met het vergrendelen van de tafel in transacties. Laten we zeggen dat je het volgende hebt:

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

nadat de SELECT-instructie is uitgevoerd en u nog een SELECT van een andere gebruiker heeft, wordt deze pas uitgevoerd als uw eerste transactie de COMMIT-regel bereikt.

Merk ook op dat FOR UPDATE buiten een transactie is zinloos.



  1. Oracle SELECT QUERY voor een-op-veel relatie tussen twee tabellen

  2. hoe twee rijen van dezelfde mysql-tabel in php te matchen

  3. Oracle TNS-namen worden niet weergegeven bij het toevoegen van een nieuwe verbinding met SQL Developer

  4. Rails:Fout bij het installeren van pg gem