Sensibilité à la casse des noms de colonnes dans PostgreSQL
La façon dont la base de données PostgreSQL gère la sensibilité à la casse des noms de colonnes dépend du fait que le nom de la colonne est placé entre guillemets doubles. Les noms de colonnes entre guillemets doubles sont sensibles à la casse, tandis que les noms de colonnes entre guillemets doubles ne sont pas sensibles à la casse (seront convertis en minuscules). Cela signifie que "first_Name" et "FIRST_NAME" sont deux noms de colonnes différents, tandis que "FirstName" et "firstname" représentent la même colonne (tous deux convertis en minuscules).
Dans l'exemple de requête, comme "first_Name" n'est pas placé entre guillemets doubles, il sera converti en "firstname" minuscule, et ce nom de colonne n'existe pas dans la base de données, provoquant ainsi une erreur.
Solution :
<code class="language-sql">SELECT * FROM persons WHERE "first_Name" = 'xyz';</code>
pg_class
pour interroger la casse réelle des noms de colonnes et l'utiliser dans la requête : <code class="language-sql">SELECT * FROM persons WHERE column_name = 'first_Name';</code>
où column_name
est une variable de nom de colonne obtenue à partir de pg_class
qui contient des informations sur le cas.
Bonne pratique : Il est recommandé d'utiliser des noms de colonnes entièrement en minuscules sans guillemets doubles pour éviter les problèmes liés à la casse et garantir la cohérence des requêtes.
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!