Ich habe eine Tabelle, die folgendermaßen erstellt wird:
--
-- Table: #__content
--
CREATE TABLE "jos_content" (
"id" serial NOT NULL,
"asset_id" bigint DEFAULT 0 NOT NULL,
...
"xreference" varchar(50) DEFAULT '' NOT NULL,
PRIMARY KEY ("id")
);
Später werden unter Angabe der ID einige Zeilen eingefügt:
INSERT INTO "jos_content" VALUES (1,36,'About',...)
Zu einem späteren Zeitpunkt werden einige Datensätze ohne id eingefügt und sie nicht mit dem Fehler:
Error: duplicate key value violates unique constraint
.
Anscheinend wurde die ID als Sequenz definiert:
Jede fehlgeschlagene Einfügung erhöht den Zeiger in der Sequenz, bis er auf einen Wert erhöht wird, der nicht mehr vorhanden ist und die Abfragen erfolgreich sind.
SELECT nextval('jos_content_id_seq'::regclass)
Was ist falsch an der Tabellendefinition? Was ist der clevere Weg, dies zu beheben?