ich wollte mal wissen, was es für Möglichkeiten (unter
MySQL) gibt einen Datensatz zu sperren.
das Problem:
- aus einer Tabelle wird ein Datensatz geholt (SELECT), welcher dann bearbeitet wird
- die bearbeiteten Daten werden dann wieder zurückgeschrieben (UPDATE).
Nun will ich verhindern, daß mehrere Leute ein und denselben Datensatz gleichzeitig bearbeiten. Das heisst, wenn ein Bearbeiter sich einen Datensatz geholt hat, dann ist dieser Datensatz für die anderen nicht mehr verfügbar.
Was gibt es da für Lösungsmöglichkeiten?
__________________________________________________ _________________
Nachtrag:
es soll nicht unbedingt über
MySQL gelockt werden. Meine erste Idee bis jetzt:
die ID des Datensatzes der gerade bearbeitet wird, wird in eine Extra-Tabelle geschrieben. Nach dem UPDATE wird die ID wieder entfernt und der nächste Datensatz geholt. Alle Datensätze deren ID sich in der Extra-Tabelle befinden sind "gesperrt" und dürfen nicht geholt werden.
hat jemand eine bessere Idee?