У мене є таблиця, яка створена таким чином:
--
-- 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")
);
Пізніше вставляються деякі рядки із зазначенням ідентифікатора:
INSERT INTO "jos_content" VALUES (1,36,'About',...)
На більш пізньому етапі деякі записи вставляються без ідентифікатора , і вони завершаться з помилкою:
Error: duplicate key value violates unique constraint
.
Мабуть, ідентифікатор визначили як послідовність:
Кожна невдала вставка збільшує вказівник у послідовності, поки він не зросте до значення, яке більше не існує, і запити будуть успішними.
SELECT nextval('jos_content_id_seq'::regclass)
Що не так з визначенням таблиці? Який розумний спосіб це виправити?