Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#1

Neuer Primärschlüssel kann nicht angelegt werden: validation error / Null-Problem

  Alt 15. Sep 2023, 10:43
Datenbank: Firebird • Version: 3.x • Zugriff über: IBDAC
Hi,

ich habe eine Tabelle, in der ich den vorhandenen Primärschlüssel löschen möchte und eine neue ID-Spalte zum Primärschlüssel machen möchte. Das mache ich so:

SQL-Code:
CREATE SEQUENCE GEN_KUNDEPREIS_ID; commit;
ALTER TABLE KUNDEPREIS DROP CONSTRAINT PK_KUNDEPREIS; commit;
ALTER TABLE KUNDEPREIS ADD ID INTEGER; commit;
Update KundePreis set ID = (select gen_id(GEN_KUNDEPREIS_ID, 1) from rdb$database); commit;
ALTER TABLE KUNDEPREIS ALTER ID SET NOT NULL; commit;
ALTER TABLE KUNDEPREIS ADD CONSTRAINT PK_KUNDEPREIS PRIMARY KEY (ID); commit; <--- Fehler hier!!!!
Dabei erscheint diese Fehlermeldung:

Zitat:
validation error for column ID, value "*** null ***"
Warum? Es können doch gar keine Datensätze mit null in der ID-Spalte exisiteren, da ich diese Spalte mit dem Generator fortlaufend auffülle. Schaue ich mit dem IBExpert in die Tabelle, sind nach dem Generator-Aufruf auch keine Datensätzt mit Null in der ID zu sehen. Aber tortzdem kann er den PK nicht erstellen. (Auch mit anderen Tabellen besteht das selbe Problem.)

Geändert von BlueStarHH (15. Sep 2023 um 10:46 Uhr)
  Mit Zitat antworten Zitat