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

Hvorfor bruge SELECT FOR UPDATE?

SELECT ... FOR UPDATE vil låse posten med en skrive- (eksklusiv) lås, indtil transaktionen er gennemført (begået eller rullet tilbage).

For at vælge en post og sikre, at den ikke bliver ændret, før du opdaterer den, kan du starte en transaktion ved at vælge posten med SELECT ... FOR UPDATE , foretag en hurtig behandling, opdater posten, og begå (eller fortryd) transaktionen.

Hvis du bruger SELECT ... FOR UPDATE uden for en transaktion (autocommit TIL), så vil låsen stadig blive frigivet med det samme, så sørg for at bruge en transaktion til at beholde låsen.

For ydeevne skal du ikke holde transaktioner åbne i særlig lang tid, så opdateringen bør udføres med det samme.




  1. Parse JSON i MySQL

  2. Hvordan implementerer man LIMIT med SQL Server?

  3. Sådan genereres et script fra et diagram i MySQL Workbench

  4. Er det muligt at ændre den naturlige rækkefølge af kolonner i Postgres?