sql >> Databasteknik >  >> RDS >> Mysql

Hur man korrekt undviker Mysql Race Conditions

För att uppnå detta måste du låsa posten på något sätt. Lägg till en kolumn Låst Genom att som standard är 0.

När någon trycker på knappen exekvera en fråga som liknar denna:

UPPDATERA tabell SET LockedBy=WHERE LockedBy=0 och id=;

Efter uppdateringen verifiera de berörda raderna (i php mysql_affected_rows). Om värdet är 0 betyder det att frågan inte uppdaterade något eftersom LockedBy-kolumnen inte är 0 och därmed låst av någon annan.

Hoppas detta hjälper



  1. Förbättra databasprestanda med 400 %

  2. Hur man manuellt ställer in seed value som 1000 i MySQL

  3. Vänster sammanfoga med villkor

  4. mySQL-returindex efter infogning