Mysql
 sql >> база данни >  >> RDS >> Mysql

Как правилно да избегнете условията на Mysql Race

За да постигнете това, ще трябва по някакъв начин да заключите записа. Добавете колона LockedBy по подразбиране на 0.

Когато някой натисне бутона, изпълнете заявка, наподобяваща тази:

UPDATE таблица SET LockedBy=WHERE LockedBy=0 и id=;

След актуализацията проверете засегнатите редове (в php mysql_affected_rows). Ако стойността е 0, това означава, че заявката не е актуализирала нищо, защото колоната LockedBy не е 0 и по този начин е заключена от някой друг.

Надявам се това да помогне



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете тригери в библиотеката за миграция на Codeigniter

  2. Пълнотекстово търсене в MySQL, защо получавам неправилни аргументи за МАЧ

  3. Как да извадя часовете от дата и час в MySQL?

  4. WEEKDAY() Примери – MySQL

  5. Как да чета изображения от MySQL база данни с PHP?