Zitat von
markon:
weil es dann zu doppeleinträgen kommt. kann doch nich sein. aus 0 wird 1, aus 1 wird 2, usw...
Salut,
rein aus der Theorie hast Du schon recht. Also aus 0 wird 1 und aus 1 wird 2, usw.
Ich glaube (sicher bin ich mir auch nicht, aber das wäre mein Lösungsansatz), da
SQL die Daten Zeilenweise abarbeitet, sieht das ganze quasi so aus:
0 xyz abc def
1 zyx cba fed
2 yxz bca efd
....
nach dem ersten Aufruf Deiner Update funktion würde das ganze dann folgendermaßen aussehen:
1 xyz abc def
1 zyx cba fed
2 yxz bca efd
....
und damit hast Du zwei Datensätze mit dem Index 1.
Ich weiß zwar nicht genau ob und wie das funktioniert, aber Du müßtest quasi zuerst den letzten Index um 1 vergrößern, und Dich dann von hinten nach vorne durch arbeiten, bevor Du den neuen Datensatz einfügst.
Die andere Möglichkeit (falls Du was am Table-Desgin ändern kannst) wäre einen zweiten Index einzuführen.
Einen Primary Key, der von der Datenbank automatisch verwaltet wird, und einen Secondary Key, um den Du Dich im Programm kümmerst.
Grüße
Wolf
Ein Schiff im Hafen ist sicher. Aber dafür werden Schiffe nicht gebaut. (engl. Sprichwort)