[MySQL] - Zwei Benutzer editieren zugleich

stutz

Grünschnabel
Hallo zusammen !

Ich habe mir einmal folgendes überlegt. Zwei Benutzer eines Systems rufen den selben Datensatz (Tupel) aus der Datenbank auf. Nun wollen bei ihre Änderungen speichern.

Der schnellere Benutzer schreibt die Änderungen, welche auf der Ursprungs-Tupel basieren per UPDATE in die Datenbank.

Der langsamere Benutzer, schreibt seine Änderungen, welche auch auf der (leider nun nicht mehr aktuellen) Ursprungs-Tupel basieren per UPDATE in die Datenbank.

Nun hat ja der langsamere Benutzer die Änderungen des Schnelleren wieder rückgängig gemacht bezw. mit den alten Informationen überschrieben.( Ich gehe davon aus, dass die beiden eine verschiedene Spalte in der Tulpe ändern)

Kann man diesem Problem mit PHP under eine MySQL- Datenbank überhaupt Herr werden ? Bitte helft mir !
 
Zuletzt bearbeitet:
Also soweit ich weiß regelt MySQL das schon selber vernünftig, ist ja schließlich eine richtige Datenbank und nicht MS Access Kinderkram
:-)

Greetz...
Sinac
 
Ich antworte mir mal selbst, denn mir ein Lösungsansatz eingefallen.

Mit in jeder Tupel erfasse ich auch noch den UNIX-Timestamp, in der sie erstellt oder upgedatet wurde. Nun frage ich mit den Daten die ich brauche, auch diesen UPDATE-Timestamp ab.

Wenn dann der Benutzer wirklich den UPDATE Befehl ausführt, kann dieser ja dann etwa so lauten:

"UPDATE tabell SET Feld1='$feld1', EDITTIME='$time' WHERE ID='$id' AND EDITTIME='$edittimestamp' "

Dieser Befehl kann ja dann nur ausgeführt werden, wenn der Wert in EDITTIME immer noch dem Wert entspricht, den der User bei sich gespeichert hat. Ist ihm jemand zuvor gekommen, so hat dieser mit seinem Befehl die EDITTIME schon geändert.

Was haltet ihr von dierser Lösung ?
 

Neue Beiträge

Zurück