phpbar.de logo

Mailinglisten-Archive

[php] pseudo-lock auf myisam tabellenzeile

[php] pseudo-lock auf myisam tabellenzeile

Peter Bieling net3 at media-palette.de
Mit Nov 11 12:23:59 CET 2009


Hallo Lars,

LB BL schrieb:

> ist es sinnvoll einen lock auf eine tabellenzeile via boolschem wert (der im entsprechenden datensatz gespeichert wird) zu setzen, um diesen vor unbefugtem schreibzugriff zu schützen?
> gibt es andere ansätze für myisam tabellen?..

in einem Projekt mache ich das so, dass ich keinen boolschen Wert 
sondern eine Aktions-ID verwende. Ich nenne die hier mal AID.

Bevor etwas gesperrt wird, holt sich der User eine AID (auto_increment) 
aus einer Sperrtabelle:
AID 	UID 	Tstamp 	Status

Dabei ist der erste Status 0. Bei 0 ist noch nichts gesperrt. Erst dann 
wird die AID in die Tabelle mit den zu bearbeitenden Datensätzen 
eingetragen. Ist das Update erfolgreich, kann der Status auf 1 gesetzt 
werden. Im Fehlerfall auf -1.
Nach Aufhebung der Sperre (Entfernung der AID), kann der Status auf 2 
gesetzt werden, oder auf -2, wenn es Probleme damit gibt.

Das Auflösen von Problemen und Konflikten ist dann wieder ein Kapitel 
für sich. Die UID des Mitarbeiters und der Zeitstempel geben auf jeden 
Fall genug Anhaltspunkte.

Im Prinzip ist das ja ein ähnliches Verfahren, wie das von Mathias für 
SAP beschriebene. - @ Mathias: Danke übrigens für den interessanten 
Beitrag. Das zeigt wieder mal, dass die Liste nach wie vor gebraucht wird!

Viele Grüße

Peter
-- 
http://www.media-palette.de/


php::bar PHP Wiki   -   Listenarchive