Saya punya tabel yang dibuat dengan cara ini:
--
-- 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")
);
Kemudian beberapa baris dimasukkan menentukan id:
INSERT INTO "jos_content" VALUES (1,36,'About',...)
Pada suatu titik kemudian beberapa catatan dimasukkan tanpa id dan mereka gagal dengan kesalahan:
Error: duplicate key value violates unique constraint
.
Rupanya id dapat didefinisikan sebagai urutan:
Setiap sisipan yang gagal meningkatkan penunjuk dalam urutan hingga meningkat ke nilai yang tidak ada lagi dan kueri berhasil.
SELECT nextval('jos_content_id_seq'::regclass)
Apa yang salah dengan definisi tabel? Apa cara cerdas untuk memperbaikinya?