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

Laravel 4 eksklusiv transaktion med opdatering og vælg

Jeg ville glemme at prøve at låse bordet og/eller gøre det i en transaktion, der er bedre mønstre for dette:

  • Generer et unikt token
  • Tildel det token til den næste tilgængelige post
  • Læs, hvilken række der fik tokenet, og bearbejd det

På den måde behøver du ingen låsning og transaktioner overhovedet (fordi DB'en KUN tildeler dit token til EN ubrugt post).

Pseudo-kode:

$token = time(); //Only you have very low concurrency. Otherwise use something more unique, like a GUID or an identity value from a tokens table.

EXEC SQL: "UPDATE mytable SET token = $token WHERE token IS NULL LIMIT 1"

EXEC SQL: "SELECT id FROM mytable WHERE token = $token"

process($id);



  1. Er en kandidatnøgledeterminant god nok til BCNF?

  2. jQuery Autofuldførelse Mysql PHP

  3. Kører serveren på host localhost (::1) og accepterer TCP/IP-forbindelser på port 5432?

  4. Installation af Oracle 9i Developer Suite 2.0 på Windows