PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Erreur :la colonne n'existe pas

En ce qui concerne Postgresql et les noms d'entités (tables, colonnes, etc.) avec des lettres MAJUSCULES, vous devez "échapper" le mot en le plaçant dans "". Veuillez vous référer à la documentation sur ce sujet particulier. Ainsi, votre exemple serait écrit comme ceci :

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

En passant, étant donné que vous utilisez des instructions préparées, vous ne devez pas définir la valeur directement dans votre instruction SQL.

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