"lock tables" funktioniert irgendwie nicht

Loctus

Grünschnabel
Also ich hatte ein Problem mit diesem script:

-----------------------
$ereignisse = mysql_query("select id from ereignisse where zeit<=$akt_zeit");
...
Die ereignisse werden dann nacheinander bearbeitet, und dann aus der Tabelle gelöscht, so dass sie nur einmal berabeitet werden.
-----------------------

Das Problem ist, dass während User A diese berechnet, User B auch dieses script ausführt, und so ereignisse dann zweimal berechnet werden, bevor sie aus der Tabelle gelöscht werden.

Nach etwas googeln bin ich dann auf "lock tables" gestoßen. Also hab ich das eingefügt, so dass die Tabelle "ereignisse"gelockt wird:

--------------------
mysql_query("lock tables ereignisse write");
$ereignisse = mysql_query("select id from ereignisse where zeit<=$akt_zeit");
...
Die ereignisse werden dann nacheinander bearbeitet, und dann aus der Tabelle gelöscht, so dass sie nur einmal berabeitet werden.
mysql_query("unlock tables");
--------------------

Allerdings bringt das überhaupt nichts. User B liest und schreibt trotzdem munter weiter in der Tabelle, während User A die ereignisse bearbeitet.

Hab ich das mit dem locken von Tabellen irgendwie falsch verstanden, oder wende ich das falsch an?
 
Zurück