У меня есть таблица, которая создается в коде ниже:автоматическое приращение не может
CREATE TABLE "salesorderdetail" (
"salesorderid" SERIAL NOT NULL ,
"salesorderdetailid" SERIAL PRIMARY KEY,
"orderqty" int NOT NULL,
"productid" int NOT NULL,
"unitprice" float NOT NULL,
"unitpricediscount" float NOT NULL,
"linetotal" float NOT NULL
) WITH (
OIDS=FALSE
);
Кроме того у меня есть записи, импортированные из CSV файла в таблицу. Я хочу, чтобы вставить новую запись в таблицу и я получаю эту ошибку
ERROR: duplicate key value violates unique constraint "salesorderdetail_pkey" DETAIL: Key (salesorderdetailid)=(2) already exists. ********** Error **********
ERROR: duplicate key value violates unique constraint "salesorderdetail_pkey" SQL state: 23505 Detail: Key (salesorderdetailid)=(2) already exists.
Я попытался изменить последовательность таблицы, выполнив следующий запрос.
SELECT MAX("salesorderdetailid") FROM "salesorderdetail"; --Output is 75123
CREATE SEQUENCE user_id_seq;
ALTER SEQUENCE user_id_seq RESTART WITH 75124; --Hence I manually enter 75124
Тогда я попробовал еще раз запрос вставки, который:
INSERT INTO "salesorderdetail" (orderqty,productid,unitprice,unitpricediscount,linetotal) values (1,1,8.00,0,8.00);
Я все еще получаю эту ошибку! Я также заметил, что каждый раз, когда я пытаюсь выполнить запрос на вставку, дублирующее значение ключа автоматически увеличивается 3,4,5,6 и т. Д.
Ваш альтер код показывает 'salesorderid' но ошибка на' salesorderdetailid' –
да я сделал ошибку, теперь это правильно! – HelloIT