Andreas Korthaus: Synchronisierung (?) von MySql Zugriffen

Beitrag lesen

Hi!

Um die Beiträge auszugeben benutze ich eine Baumstruktur.
Wenn ich also einen Beitrag hinzufüge, so muß ich in den, von dem neuen Beitrag abhängigen Einträgen Änderungen vornehmen.

Wieso? Das muss nicht sein. Normalerweise macht man den neuen Eintrag von _einem_ Vater-Posting abhängig, zumindest wenn es sich hierbei um eine Antwort handelt.

Dies kann ich aber nicht mit einem Befehl machen, daß heißt, ich ändere die Einträge in mehreren Schritten.

Wenn nun aber fürchterlicher Verkehr in meinem Forum herrschen würde und jemand auf einen Eintrag antwortet, während dieser gerade geändert wird (Änderung nicht abgeschlossen), könnte meine Datenbankstruktur mächtig durcheinander geraten.

Daher solte das unbedingt vermieden werden. Wenn Du bei Deinem Ansatz bleiben wilst solltest Du Dich mal mit dem (My)SQL-Befehl "LOCK" auseinandersetzen, um für die Zeit Deiner Transaktion Zugriffe auf die Tabelle(n) zu beeinflussen.

Aber ich würde Dir empfehlen mal das ganze Konzept etwas zu überdenken, helfen wird Dir hierbei sicher folgender Featured Artikel: http://aktuell.de.selfhtml.org/artikel/phpasp/php-forum/index.htm

Kann ich den Zugriff auf die Datenbank für die Zeit der Aktualisierung sperren, bzw. sollte ich das?

Ja, s.o.

Wie arbeitet Sql, bzw. PHP, bzw. der Server diese Anfragen ab?

In der Folge wie sie eintreffen, es sein denn Du sperrst die Tabelle ("LOCK").

Grüße
Andreas