phpbar.de logo

Mailinglisten-Archive

[php] Zahlenreihe in Datenbank updaten

[php] Zahlenreihe in Datenbank updaten

Georg Richter php_(at)_phpcenter.de
Tue, 15 Jan 2002 10:26:32 +0100


Hoi!

> Eine Tabelle mit bspw. 300 Eintraegen, jeder hat eine Nummer im
> ersten Feld (lfd_nr, tinyint, auto_increment), dahinter

a) auto_increment sollte man verwenden, um einen eindeutigen Schlüssel zu 
erhalten, nicht um eine Reihenfolge, die anders als die Reihenfolge des 
Einfügens ist wiederzugeben.

b) Dein Beispiel mit 300 Einträgen geht nicht, da das Feld lfd_nr als Tinyint 
(int(1)) definiert ist.

> Frage ist: Was ist wenn ich etwas hinzufuegen will, also
> zwischen Nr. 70 und 71 nachtraeglich  eine Seite kommt. Dann
> muesste sich 71 in 72 verwandeln um Platz fuer die neue Nummer 71
> zu schaffen.... und alle folgenden Zahlen muessen ebenfalls
> um eins hochgezaehlt werden.

UPDATE foo SET lfd_nr = lfd_nr + 1 WHERE lfd_nr > 70
anschliessend den Neuen Datensatz einfügen, und die id auf 70 setzen.

Wie bereits oben beschrieben, macht das bei auto_increment feldern wenig Sinn.

Georg


php::bar PHP Wiki   -   Listenarchive