Heim >Datenbank >MySQL-Tutorial >Warum gibt mein Java-Code beim Löschen aus PostgreSQL den Fehler „Spalte existiert nicht' aus?
Das Verbinden von Java-Programmen mit PostgreSQL und das Durchführen von CRUD-Operationen ist für viele unerlässlich Anwendungen. Dieser Artikel befasst sich mit einem häufigen Fehler, der beim Versuch auftritt, Daten aus einer PostgreSQL-Tabelle mit Java zu löschen.
Bei der Ausführung des folgenden Codes:
con = DriverManager.getConnection(url, user, password); String stm = "DELETE FROM hostdetails WHERE MAC = 'kzhdf'"; pst = con.prepareStatement(stm); pst.executeUpdate();
Benutzer könnten Es tritt der Fehler auf:
SEVERE: ERROR: column "mac" does not exist
Bei der Verwendung von PostgreSQL werden Entitätsnamen (z B. Tabellen und Spalten) mit Großbuchstaben müssen durch doppelte Anführungszeichen („“) „escaped“ werden. Daher lautet der richtige Code:
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";
Zusätzlich wird empfohlen, vorbereitete Anweisungen für mehr Sicherheit und Leistung zu verwenden. Der Code sollte wie folgt aktualisiert werden:
con = DriverManager.getConnection(url, user, password); String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?"; pst = con.prepareStatement(stm); pst.setString(1, "kzhdf"); pst.executeUpdate();
Das obige ist der detaillierte Inhalt vonWarum gibt mein Java-Code beim Löschen aus PostgreSQL den Fehler „Spalte existiert nicht' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!