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

Hvordan man korrekt undgår Mysql Race Conditions

For at opnå dette skal du låse posten på en eller anden måde. Tilføj en kolonne LåstVed standardindstillingen 0.

Når nogen trykker på knappen, udfør en forespørgsel, der ligner denne:

OPDATERING tabel SET LockedBy=WHERE LockedBy=0 og id=;

Efter opdateringen skal du kontrollere de berørte rækker (i php mysql_affected_rows). Hvis værdien er 0, betyder det, at forespørgslen ikke opdaterede noget, fordi LockedBy-kolonnen ikke er 0 og dermed låst af en anden.

Håber dette hjælper



  1. Sådan rettes "Et korrelationsnavn skal angives for bulk-rækkesættet i fra-klausulen." i SQL Server

  2. TypeORM underforespørgsler

  3. Fremstil et 'DataSource'-objekt til Postgres JDBC, programmatisk

  4. SQLSTATE[22007]:Ugyldigt datetime-format:1292 Forkert datetime-værdi:'2008-03-30 02:56:12'