Nur das ich den Schlüssel automatisch von PostgreSQL generieren lasse.
Das ist mein Insert:
INSERT INTO history ("domainName", "historyTimestamp", "historyType", "historyTypeValue", "historyServer") VALUES ('property-magazine.de' , '2010-03-23 11:38:21.284', 14, 140000.0 , 'http://www.google.com')
(nur als beispiel)
und das ist meine history Tabelle:
CREATE TABLE history
(
"historyID" serial NOT NULL,
"domainName" character varying NOT NULL,
"historyTimestamp" timestamp without time zone NOT NULL,
"historyType" smallint NOT NULL,
"historyTypeValue" double precision,
"historyServer" character varying,
CONSTRAINT "PK_HISTORY" PRIMARY KEY ("historyID")
)
WITH (
OIDS=FALSE
);
woran kann das liegen das er sagt das der Schlüssel schon vorhanden ist? In meiner Insert Anweisung weise ich ja keine Schlüssel zu.
Es sind rund 63Millionen Datensätze in der Tabelle, kann es sein das kein freier Schlüssel mehr gefunden wird? Eigentlich nicht oder?
Vermutlich sind die bisherigen Datensätze MIT ID eingefügt worden, ohne Verwendung der Sequence, oder?
Falls ja: es gibt Funktionen zum setzen einer Sequence auf einen (neuen) Startwert. Setze diese Sequence also auf einen Wert der größer ist als max(historyID).