BerndG: MySQL: Update von mehreren Sätzen, deren Anzahl variabel ist

Beitrag lesen

Hallo Comunity!
Ich hab da ein schweres Problem!

Ich haben eine MySQL - DB mit einer Tabelle die so aussieht:

ID |Pos |Text

6  |1  |Test
22 |2  |ABC
1  |3  |xyz
4  |4  |test
9  |5  |cba
31 |6  |wef
...

ID ist Primary key. Nach Pos wird absteigend sortiert.

Lösche ich jetzt den Satz mit der Positionsnummer 3 muss ich die Positionsnummern für die Sätze mit den ID's 4 und 9 aktualisieren, sodas der Satz mit der ID 4 die Positionsnummer 3 und der mit ID 9 die Positionsnummer 4 usw. erhält. Die Positionsnummern sind wichtig für die spätere Sortierung auf der Seite. Ich kann dazu nicht die ID verwenden, da sich die Position einzelner Sätze ändern kann.

Da ich aber erst seit zwei Wochen mit Perl und MySQL arbeite habe ich keinen Plan, wie ich das realisieren kann. Hab schon einiges versucht, aber mir fehlt einfach etwas Erfahrung und Wissen. Ich muss das Skript allerdings schnellst möglich geschrieben haben.

Der Zugriff auf die Datenbank besteht über DBI und funktioniert.

Wenn euch dazu irgendwas einfällt wär ich wirklich sehr dankbar!

MfG - Chriss

Hallo,

probier mal

UPDATE tabelle
  SET pos = pos -1
  WHERE pos > 'poswert_der_gelöscht_wurde'

Gruss

Bernd