Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 13-08-2013, 17:55
phptest
 Registrierter Benutzer
Links : Onlinestatus : phptest ist offline
Registriert seit: Aug 2013
Beiträge: 3
phptest befindet sich auf einem aufstrebenden Ast
Standard Mehrere zeitgleiche Querys bearbeiten die gleiche Zelle

Hallo,

ich habe eine Verständnisfrage zu mySQL Tabellenabfragen.

Ich habe eine Tabelle "Rating" mit den Spalten id und rating

Rating
Code:
+----+-------+
|id  |rating |
+----+-------+
|1   |100    |
+----+-------+
|2   |150    |
+----+-------+

Der User kann auf der Internetseite das Rating jeweils um einen Punkt erhöhen oder erniedrigen.
Auf der seite update.php?id=1 mach ich dann folgendes:
- aktuelles rating der id auslesen
- rating um 1 erhöhen
- neues rating in die Tabelle schreiben

Was passiert wenn mehrere User (fast) zur gleichen Zeit die gleiche Zelle bearbeiten?
Dann könnte ja das folgende passieren oder?

Code:
   User1                   User2
     |                       |  
     |                       |
rating auslesen              |
rating = 100                 |
     |                       |
     |                   rating auslesen
     |                   rating = 100
     |                       |
rating um 1 erhöhen          |
rating = 101                 |
     |                       |
     |                 rating um 1 erhöhen
     |                  rating = 101
     |                       |
rating in Tabelle            |      
schreiben                    |
rating = 101                 |
                   rating in Tabelle schreiben
                         rating = 101


In dem fall wäre ja das Rating 101 obwohl es 102 sein sollte. Oder kann soetwas nicht passieren?


Ansonsten könnte ich ja noch eine Tabelle "Buffer" erstellen in der ich einfach jede Bewertung erfasse und diese dann in einem separaten Skript abarbeite.



Hoffe ihr versteht was ich sagen will

Danke schonmal
Mit Zitat antworten