Dépannage « Erreur : la colonne n'existe pas » lors de la suppression de PostgreSQL
Lors de la tentative de suppression d'enregistrements d'une table PostgreSQL à l'aide de Java JDBC, vous pouvez rencontrer une erreur indiquant que la colonne spécifiée dans la requête DELETE n'existe pas. Pour résoudre ce problème, considérez les éléments suivants :
Sensibilité à la casse des noms d'entité d'échappement
PostgreSQL est sensible à la casse pour les noms d'entités (par exemple, les noms de tables et de colonnes). Si le nom de votre colonne contient des lettres majuscules, vous devez le mettre entre guillemets ("") pour ne pas respecter la casse.
Par exemple, si votre colonne est nommée "MAC", modifiez votre requête comme suit :
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";
Éviter la définition de valeur directe dans les instructions préparées
Utilisation de pst.executeUpdate() avec définition de valeur directe dans les déclarations préparées n’est pas recommandé. Utilisez plutôt pst.setString(1, "kzhdf") pour définir la valeur du paramètre en toute sécurité.
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?"; ... pst.setString(1, "kzhdf"); pst.executeUpdate();
Cela garantit que tous les caractères spéciaux potentiels ou tentatives d'injection SQL sont traités en toute sécurité.
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!