000
07.10.2005, 17:56 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn (Operator)
|
Hallo, Ich habe da so ein kleines Problem mit PHP in Kombination mit MySQL.
Ich habe eine MySQL-Tabelle, welche verschiedene Datensätze enthält. Unter gibt es dabei: ID (BIGINT) ParentID (BIGINT) ReplyCount (BIGINT)
Wobei ParentID auf die ID des jeweils übergeordneten Datensatzes verweist. ReplyCount soll den Wert enthalten, wie viele untergeordnete Datensätze es gibt. Wenn ParentID = ID ist, so gibt es keinen übergeordneten Datensatz. Eine Hierachie könnte also z.B. so aussehen:
Code: |
Datensatz (ReplyCount sollte hier 4 sein) -> Untergeordneter (ReplyCount sollte hier 0 sein) -> Untergeordneter (ReplyCount sollte hier 0 sein) -> Untergeordneter (ReplyCount sollte hier 1 sein) -> Untergeordneter Datensatz (ReplyCount sollte hier 0 sein)
|
Wie kann ich jetzt, wenn ich einen neuen Datensatz einfüge, den ReplyCount sämtlicher übergeordneter Datensätze um 1 erhöhen? Mir würde nur spontan einfallen, einfach so lange, bis ParentID = ID ist, jeweils eine SELECT-Abfrage zu schicken, um eben dies heraus zu finden, und danach mit UPDATE den Wert zu erhöhen... aber ist das nicht wahnsinnig ineffizient?
Gibt es da eine geeignetere Möglichkeit? Falls es wichtig sein sollte: PHP Version ist 5.1RC0 und MySQL Version ist 5.0.7 beta Dieser Post wurde am 07.10.2005 um 17:57 Uhr von Reyx editiert. |