Ich nutze die eingebaute HSQLDB und habe aus dem Beitrag von RobertG im letzten Thema erfahren, dass man die ID auch neu generieren kann.
Um überhaupt die ID mit RESTART anpacken zu können, mußte ich sie erst von TINYINT in INTEGER überführen, was mir mit
Code: Alles auswählen
alter table "Tabelle1" alter column "ID" integer generated by default as identity
Nun aber möchte ich (nicht zwingend, nur in meinem Charakter begründet) die Lücken (z.B. ID 4 fehlt schon lange) füllen und habe mehrfach versucht mit
Code: Alles auswählen
ALTER TABLE "Tabelle1" ALTER COLUMN "ID" RESTART WITH 1
Aber das gelingt mir nicht. Na gut, dann vielleicht mit einem höheren Wert, z.B. 100 (wurde niemals erreicht). Aber nein, es geht auch nicht! Zwar wird der SQL-Befehl jeweils als erfolgreich gemeldet, aber auch nach schließen und wiederöffnen der db hat sich nichts verändert.
Was mache ich falsch?
Muß ich erst autoinkrement rausnehmen oder welchen Trick muß ich anwenden?
Nein, autoinkrement darf man nicht abwählen, dann wird der SQL-Befehl gar nicht erst akzeptiert, so habe ich jetzt gemerkt.