phpbar.de logo

Mailinglisten-Archive

[php] MySQL Absturz bei Index-Sortierung

[php] MySQL Absturz bei Index-Sortierung

Georg Leitner php_(at)_phpcenter.de
Wed, 28 Mar 2001 09:32:23 +0200


Liebe Liste,
Ich habe schon voe ein paar Wochen eine ähnliche Frage gestellt und gehofft,
dass meine Probleme mit den Antworten beseitigt wären. Sind sie aber leider
nicht.

Nochmal mein Problem:

Ich sortiere über einen eigenen Sortier-Index (Int) Beiträge. Wenn einen
Beitrag irgendwo zwischen anderen Beiträgen einfügen möchte bzw. einen
Beitrag umsortieren will, muss ich diesen Index ja für alle betroffenen
Beiträg verändern.

Ich habe also meine Funktion, der ich die id ($id) übergebe, ab der der
Sortier-Index erhöht werden soll.
dort hab ich s zuerst mal mit folgenden probiert:

UPDATE table SET sort_id=sort_id+1 WHERE sort_id>$id

Das funzt auf meiner Testumbegbung (Win2K, Apache 1.3.12 und MySQL 3.22.34,
PHP 3.0.16 bzw. PHP 4.0.5 rc1) auch einwandfrei. Unter Linux mit Apache
1.3.12 und PHP 3.0.16 mit MySQL 3.22.34 hab ich dann leider das Problem,
dass MySQL den letzten Eintrag ins Nirvana hochzählt. Also hab ich mal
folgendes probiert:

UPDATE table SET sort_id=sort_id+1 WHERE sort_id>$id AND sort_id<10000

Das schaut zwar auf den ersten Blick unlogisch aus, erwirkt aber zumindest,
dass ich MySQL nicht ständig restarten muss. Fehlermeldung gibts übrigens
keine (nicht PHP, nicht Apache, nicht MySQL). Die Logfiles verzeichnen das
gar nicht.

Das wird doch wohl nicht so schwer sein, dass ich meine Beiträge so
sortieren kann, wie ich will!
Daher auch meine Fragen an Euch:

- Sollte ich vielleicht mal irgendwas mit LOCK probieren?
Wie läuft das denn bei MySQL, wenn ich z.B. zeitgleich Sortieren lasse?

bzw. wenn alles nicht hilft:
- Wie kann ich Beiträge mit einer andeen Methode sortieren lassen?

bitte helft mir :) ich bin schon am Verzweifeln.

Georg



php::bar PHP Wiki   -   Listenarchive