"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué la columna de la consulta PostgreSQL Report "no existe"? ¡Es obvio que la columna existe!

¿Por qué la columna de la consulta PostgreSQL Report "no existe"? ¡Es obvio que la columna existe!

Publicado el 2025-04-19
Navegar:215

Why Does My PostgreSQL Query Throw a

La columna "no existe" de Postgresql: un problema de sensibilidad de caso

Un dolor de cabeza común PostgreSQL es el error "La columna no existe", incluso cuando la columna está claramente definida. Esto a menudo se deriva de problemas de sensibilidad a casos. Considere este ejemplo:

SELECT Continent
FROM network.countries
WHERE Continent IS NOT NULL
AND Continent  ''
LIMIT 5

Esta consulta aparentemente correcta podría devolver:

ERROR: column "continent" does not exist
Hint: Perhaps you meant to reference the column "countries.Continent".
Position: 8

La solución: Nombrado de columna precisa con cotizaciones dobles

La corrección es simple: encierra el nombre de la columna en citas dobles:

SELECT "Continent"
FROM network.countries
WHERE "Continent" IS NOT NULL
AND "Continent"  ''
LIMIT 5

mediante doble cotización "continente" , le dice explícitamente a PostgreSQL que trate el nombre como una cadena literal sensible al caso, evitando malas interpretaciones.

por qué son importantes

PostgreSQL típicamente maneja los nombres de columnas de manera insensible al caso. Sin embargo, los nombres de columnas no cotizados a menudo se convierten en minúsculas internamente. Si el nombre de su columna tiene un caso mixto (como "continente"), y lo hace referencia sin cotizaciones, PostgreSQL podría buscar una columna de "continente en minúsculas", lo que lleva al error. Las cotizaciones dobles aseguran una coincidencia exacta, resolviendo la ambigüedad.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3