Maison > base de données > tutoriel mysql > Pourquoi mon instruction PostgreSQL DELETE échoue-t-elle avec « Erreur : la colonne n'existe pas » ?

Pourquoi mon instruction PostgreSQL DELETE échoue-t-elle avec « Erreur : la colonne n'existe pas » ?

Patricia Arquette
Libérer: 2024-12-19 08:34:09
original
1028 Les gens l'ont consulté

Why Does My PostgreSQL DELETE Statement Fail with

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'";
Copier après la connexion

É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();
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal