phpbar.de logo

Mailinglisten-Archive

Re: Table locking ...
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Table locking ...



Thomas 'ManiaX' Heller wrote:
> 
> Moin Moin!
> 
> Ich habe vor einiger Zeit (2 Tage ;) mySQL auf meinem Linux Server
> installiert und bin recht begeistert. ;)
> 
> Nun bin ich bei meinen Einrichtungen leider auf ein Problem gestoßen.
> Und zwar müßte ich eine Tabelle so einrichten das nur EIN Zugriff jeweils
> Daten ändern darf. Der eine Prozess (über perlDBI) muss erst vollständig
> durchgeführt werden bevor der andere Daten erhält oder ändert.
> 
> Ich habe allerdings keine Idee, geschweige denn Möglichkeit gefunden,
> so etwas zu realisieren.
> 
> In Perl gibt es die Möglichkeit über flock(...) bestimmte Datei Handles zu
> sperren.
> Bietet mySQL eine ähnliche Möglichkeit?
> 
> Da mein Server 100 Zugriffe gleichzeitig zuläßt kommt es sicherlich mal vor
> das
> der eine was ändert, während ein anderer Prozess auch gerade dabei war ...
> 
> Ich bin für jeden Tip dankbar!
> 
> mfg
> Thomas Heller

Hallo Thomas

Klar gibt es sowas bei mySQL.
Du musst in derselben connection, in der Du die Aenderung vornehemen willst zuvor ein:
LOCK TABLE tabellenname WRITE, andereTabelle READ,...
als SQL - Befehl absetzen, und danach wieder freigeben mit:
UNLOCK TABLE

Du musst allerdings alle Tabellen angeben, die Du zwischen LOCK und UNLOCK verwendest.
Naeheres:
manual Kapitel 7.23 LOCK TABLES/UNLOCK TABLES syntax

Tschau
Christian


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive