<PRE>Nemen wir mal an ich habe eine tabelle "xyz" mit einer spalte "id" (PrimaryKey).
<I> CREATE TABLE xyz(id INTEGER NOT NULL, PRIMARY KEY(id)) </I>
<BR>
diese tabelle enthält folgende daten:
<BR>
500 <I> INSERT INTO xyz VALUES(500) </I>
600 <I> INSERT INTO xyz VALUES(600) </I>
700 <I> INSERT INTO xyz VALUES(700) </I>
<BR>
nun will ich alle werte mit 100 subtrahieren -> kein Problem. <I> UPDATE xyz SET id = (id - 100) </I>
<BR>
nun will ich alle werte mit 100 addieren -> geht nicht. <I> UPDATE xyz SET id = (id + 100) </I>
<BR>
Frage: wieso?
<BR>
Klar IB macht vermutlich folgendes mit der subtraktion:
<BR>
500 - 100 => 400 (noch nicht vorhanden)
600 - 100 => 500 (nicht mehr vorhanden)
700 - 100 => 600 (nicht mehr vorhanden)
<BR>
und bei der addition
<BR>
500 + 100 => 600 (ohh ohh, 600 ist schon in der DB! = Fehler)
<BR>
wie kriege ich jetzt das IB dazu mir das torzdem zu machen?
<BR>
mann müsste irgendwie das update in der reihenfolge umkehren...
<BR>
so dass:
<BR>
700 + 100 => 800 (noch nicht vorhanden)
600 + 100 => 700 (700 wurde ja vorhin gerade mit 800 überschrieben)
500 + 100 => 600 (auch nicht mehr vorhanden)
<BR>
Geht das??
<BR>
Gruss
</PRE>
<I> CREATE TABLE xyz(id INTEGER NOT NULL, PRIMARY KEY(id)) </I>
<BR>
diese tabelle enthält folgende daten:
<BR>
500 <I> INSERT INTO xyz VALUES(500) </I>
600 <I> INSERT INTO xyz VALUES(600) </I>
700 <I> INSERT INTO xyz VALUES(700) </I>
<BR>
nun will ich alle werte mit 100 subtrahieren -> kein Problem. <I> UPDATE xyz SET id = (id - 100) </I>
<BR>
nun will ich alle werte mit 100 addieren -> geht nicht. <I> UPDATE xyz SET id = (id + 100) </I>
<BR>
Frage: wieso?
<BR>
Klar IB macht vermutlich folgendes mit der subtraktion:
<BR>
500 - 100 => 400 (noch nicht vorhanden)
600 - 100 => 500 (nicht mehr vorhanden)
700 - 100 => 600 (nicht mehr vorhanden)
<BR>
und bei der addition
<BR>
500 + 100 => 600 (ohh ohh, 600 ist schon in der DB! = Fehler)
<BR>
wie kriege ich jetzt das IB dazu mir das torzdem zu machen?
<BR>
mann müsste irgendwie das update in der reihenfolge umkehren...
<BR>
so dass:
<BR>
700 + 100 => 800 (noch nicht vorhanden)
600 + 100 => 700 (700 wurde ja vorhin gerade mit 800 überschrieben)
500 + 100 => 600 (auch nicht mehr vorhanden)
<BR>
Geht das??
<BR>
Gruss
</PRE>
Comment