Hallo,
ich habe eine Verständnisfrage zu mySQL Tabellenabfragen.
Ich habe eine Tabelle "Rating" mit den Spalten id und rating
Rating
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?
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
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
Kommentar