Postgresql's "столбец не существует" Ошибка: проблема чувствительности случая
]общая головная боль postgreSQL - это ошибка «столбца не существует», даже если столбец четко определен. Это часто связано с проблемами чувствительности. Рассмотрим этот пример:
]SELECT Continent
FROM network.countries
WHERE Continent IS NOT NULL
AND Continent ''
LIMIT 5
Этот, казалось бы, правильный запрос может вернуться:
]ERROR: column "continent" does not exist
Hint: Perhaps you meant to reference the column "countries.Continent".
Position: 8
решение: точное именование столбцов с двойными кавычками
]исправление простое: приложите имя столбца в двойные кавычки:
]SELECT "Continent"
FROM network.countries
WHERE "Continent" IS NOT NULL
AND "Continent" ''
LIMIT 5
путем двойного цитирования "Continent"
, вы явно говорите PostgreSQL, чтобы рассматривать имя как чувствительную к случаю строки, предотвращая неверные толкования.
почему двойное цитирование имеет значение
]postgresql обычно обрабатывает имена столбцов в случае нечувствительного к случаю. Тем не менее, имена невоотированных столбцов часто преобразуются в строчные. Если имя вашего столбца имеет смешанный корпус (например, «Континент»), и вы ссылаетесь на его без кавычек, PostgreSQL может искать столбец с нижним континентом «континент», что приведет к ошибке. Двойные кавычки Убедитесь, что точное совпадение, разрешение двусмысленности.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3