La colonne n'existe pas dans la requête PostgreSQL DELETE
Dans PostgreSQL, l'exécution d'une requête DELETE avec une clause "WHERE IN" nécessite une attention particulière. Une erreur courante due à la familiarité avec d'autres dialectes SQL est l'utilisation de guillemets doubles pour les constantes de chaîne.
Dans l'exemple fourni, la requête tente de supprimer des lignes de la table "user_job_titles" en fonction d'une liste d'ID. entre guillemets doubles :
DELETE FROM user_job_titles WHERE id IN ( "c836d018-1d12-4507-a268-a4d80d6d3f54", "d0961a90-7d31-4c4c-9c1b-671115e3d833", "62dda420-6e62-4017-b41d-205c0aa82ead" );
Cependant, les guillemets doubles ont une signification particulière dans PostgreSQL. Ils sont utilisés pour échapper les noms de tables et de colonnes. En conséquence, la requête échoue avec une erreur indiquant que la colonne portant le nom "c836d018-1d12-4507-a268-a4d80d6d3f54" n'existe pas.
Pour corriger la requête, remplacez les guillemets doubles par des guillemets simples. pour les constantes de chaîne :
DELETE FROM user_job_titles WHERE id IN ('c836d018-1d12-4507-a268-a4d80d6d3f54', 'd0961a90-7d31-4c4c-9c1b-671115e3d833', '62dda420-6e62-4017-b41d-205c0aa82ead' );
N'oubliez pas que les guillemets doubles ne sont utilisés que pour entourez les noms de tables et de colonnes dans PostgreSQL, tandis que les guillemets simples sont utilisés pour les littéraux de chaîne. L'utilisation du type de guillemet correct est cruciale pour la bonne exécution des requêtes SQL.
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!