SELECT ... FOR UPDATE
kommer att låsa posten med ett skrivlås (exklusivt) tills transaktionen är slutförd (bekräftad eller återställd).
För att välja en post och se till att den inte ändras förrän du uppdaterar den, kan du starta en transaktion, välj posten med SELECT ... FOR UPDATE
, gör lite snabb bearbetning, uppdatera posten och utför sedan (eller återställ) transaktionen.
Om du använder SELECT ... FOR UPDATE
utanför en transaktion (autocommit PÅ), så kommer låset fortfarande att frigöras omedelbart, så se till att använda en transaktion för att behålla låset.
För prestanda, håll inte transaktioner öppna särskilt länge, så uppdateringen bör göras omedelbart.