PSQLException: ERROR: Nullwert in Spalte verletzt Nicht-Null-Einschränkung

8

Ich verwende PostgreSQL 8.4.13 auf x86_64-pc-linux-gnu unter Debian 4.4.5-8, 64-bit.

Ich habe die folgende Tabelle erstellt:

%Vor%

Dann führe ich mit einer Java-Anwendung den folgenden Code aus:

%Vor%

Das Problem hier ist, dass die executeUpdate () die folgende Ausnahme erzeugt:

%Vor%

Das Seltsame ist, dass wenn ich die selbe insert-Anweisung mit psql ausführe, sie erfolgreich ausgeführt wird.

Irgendwelche Ideen würden sehr geschätzt werden.

Danke.

    
Maestros 14.11.2012, 03:08
quelle

2 Antworten

7

Wie @mu bemerkt hat, widerspricht die Fehlermeldung dem Rest Ihrer Frage.

Die einzige vernünftige Erklärung ist, dass Sie tatsächlich in eine andere Tabelle schreiben

Versuchen Sie:

%Vor%

Und überprüfen Sie Ihren Tisch. Ist der INSERT am erwarteten Tisch angekommen? Wenn nicht, überprüfen Sie Ihre Einstellungen:

  • IP, Port, Datenbankname?
  • Gleiches Schema in der DB? Überprüfen Sie Ihre search_path Einstellung.
  • Sie haben nicht versehentlich den Tabellennamen "USERS" zitiert? Doppelt zitierte Bezeichner werden nicht in Kleinbuchstaben umgewandelt. Lesen Sie das Kapitel Identifikatoren und Schlüsselwörter für Details. .

Finde die andere Instanz der Tabelle users und korrigiere den potentiellen Schaden, den du möglicherweise angerichtet hast. :)

    
Erwin Brandstetter 14.11.2012, 10:22
quelle
0
%Vor%

Beachten Sie nur drei Fragezeichen und jetzt sind die Felder richtig ausgerichtet.

Sorgen Sie sich auch nicht um die NOT NULL Einschränkung. Es wird sich selbst behandeln (wie könnte es jemals sein NULL , es ist SERIAL ) und könnte Ihren Fehler verursachen. Einfach entfernen.

    
durron597 14.11.2012 03:12
quelle