ich eine Tabelle, die unten in dem Code erstellt wird:Autoinkrement nicht
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
);
Außerdem habe ich aus einer CSV-Datei in die Tabelle importiert Datensätze. Ich möchte einen neuen Datensatz in der Tabelle einzufügen, und ich erhalte diesen Fehler
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.
Ich habe versucht, die Reihenfolge der Tabelle zu ändern, indem Sie die folgende Abfrage ausgeführt wird.
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
Dann habe ich versucht, den Einsatz Abfrage erneut das ist:
INSERT INTO "salesorderdetail" (orderqty,productid,unitprice,unitpricediscount,linetotal) values (1,1,8.00,0,8.00);
ich immer noch diesen Fehler! Ich habe auch bemerkt, dass jedes Mal, wenn ich versuche, die Einfügeabfrage auszuführen, der doppelte Schlüsselwert automatisch 3,4,5,6 usw. erhöht.
Ihr alter Code zeigt 'salesorderid' aber der Fehler ist auf' salesorderdetailid' –
ja ich einen Fehler gemacht jetzt ist es richtig! – HelloIT