PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Fehler:Spalte existiert nicht

Wenn es um Postgresql- und Entity-Namen (Tabellen, Spalten usw.) mit GROSSBUCHSTABEN geht, müssen Sie das Wort "escapen", indem Sie es in "" setzen. Bitte beachten Sie die Dokumentation zu diesem speziellen Thema. Ihr Beispiel würde also folgendermaßen geschrieben:

String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";

Nebenbei bemerkt, da Sie vorbereitete Anweisungen verwenden, sollten Sie den Wert nicht direkt in Ihrer SQL-Anweisung festlegen.

con = DriverManager.getConnection(url, user, password);
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?";
pst = con.prepareStatement(stm);
pst.setString(1, "kzhdf");
pst.executeUpdate();