Mailinglisten-Archive |
Hallo Henning, ich hatte das gleiche Problem und dies durch eine eigene Lock-Funktion gelost. Ich rufe einen Datensatz auf, der den Kriterien entspricht, setze das Lock-Kennzeichen selbst und speichere den Datensatz dann zuruck, und zwar mit einem statement: ... WHERE Datensatznummer = 0000 AND Lock = False. Wenn dieses Statement beim Ausfuhren nicht zutrifft, wei? ich , da? die Sperrung zwischenzeitlich von einem anderen Benutzer vorgenommen wurde. Danach offne ich den Datensatz erneut, bearbeite ihn entsprechend und setze beim Verlassen desselben das Lock-Kennzeichen wieder zuruck. Die vorgehensweise ist etwas umstandlich und es wird auch ziemlich jede Anfrage mehrfach gemacht, aber es klappt einwandfrei. Mit meiner Software arbeiten 72 Personen gleichzeitig an Adressen. Bleibt Dir nur noch die Entscheidung, was Du machst, wenn Du einen gesperrten Datensatz zu sperren versuchst (Meldung oder Neuaufruf eines anderen). Viel Spa? beim Probieren. Andreas -----Ursprungliche Nachricht----- Von: h.evers_(at)_kiel-media.de [mailto:h.evers_(at)_kiel-media.de] Gesendet: Samstag, 3. August 2002 14:16 An: mysql-de_(at)_lists.4t2.com Betreff: locks hallo, ich habe ein wenig probleme mit den "lock" befehlen. "select get_lock ('test',10);" und "select release_lock('test');" funktionieren einwandfrei, allerdings bekomme ich bei "select is_free_lock('test');" egal welchen zustand die variable hat folgende fehlermeldung: "ERROR 1064: You have an error in your SQL syntax near '("test")' at line 1" slebst in der doku ist diese syntax angegeben (6.3.6.2 Miscellaneous Functions). desweiteren frage ich mich warum "get_lock() bei blockierten lock wartet und nicht "0" zurueckgibt? gibt es dafuer einen grund? anfragen in einer warteschlange zu haben hilft mir nicht wirklich weiter... Ich versuche naemlich zu erhindern dass 2 parlell arbeitende user sich nicht gegenseitig ins gehege kommen. fuer ideen und hilfen waere ich sehr dankbar. Henning --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive