Résolution de l'erreur « La colonne n'existe pas » dans Postgresql
Malgré l'établissement d'une connexion entre PostgreSQL et Java, vous rencontrez une erreur lorsque vous tentez de effectuez une opération de suppression, avec le message "la colonne 'mac' n'existe pas." Ce problème, malgré l'existence de la colonne MAC dans le tableau, provient de la sensibilité à la casse des noms d'entités Postgresql.
Pour résoudre ce problème, placez les noms de colonnes entre guillemets doubles (" ") lorsqu'ils contiennent des lettres majuscules. . Dans votre cas, modifiez la requête comme suit :
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";
De plus, pour améliorer la sécurité et éviter les vulnérabilités d'injection SQL, utilisez des instructions préparées et définissez des valeurs via des paramètres :
con = DriverManager.getConnection(url, user, password); String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?"; pst = con.prepareStatement(stm); pst.setString(1, "kzhdf"); pst.executeUpdate();
Cette approche garantit une correspondance précise entre le nom de la colonne et la valeur, évitant ainsi l'erreur « la colonne n'existe pas » et renforçant la sécurité de votre code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!