![]() |
MySQL und Datensatz sperren
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? |
keiner eine idee?
|
Warum möchtest Du es nicht über den Server locken lassen?
Egal. Das mit der extra Tabelle kannst Du ja so machen. Am besten sicher über einen Trigger. Dennoch. Es ist immer besser den Server solche Dinge erledigen zu lassen. Dafür ist er ja schließlich da :lol: |
Das Locken von Datensätzen ist AFAIK erst ab MySQL 4.0 oder 4.1 möglich.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz