У меня проблема с выполнением запроса с использованием pgdb python с использованием нескольких чувствительных к регистру столбцов. Результаты большинства запросов возвращают список python, но если я выдаю запрос к таблице с указанием нескольких регистров, чувствительных к регистру, результат будет string
.case sensitve query возвращает строку вместо списка
Например, у меня есть таблица в базе данных PostgreSQL с 3 корпусных ВОСПРИИМЧИВ boolean
столбцов имени:
(colA, colB, debug)
Если я заинтересован в выборе более одного столбца я получаю сырой string
результат из запроса :
query = 'SELECT ("colA", debug) FROM my_table;"
или
query = 'SELECT ("colA", "colB") FROM my_table;"
запрос возвратит:
cursor.execute(query)
cursor.fetchone()
['(f,f)']
выдавшего следующий запрос:
query = "SELECT * FROM my_table;"
cursor.execute(query)
cursor.fetchone()
результатов в ожидаемом списке питона:
[False, False, False]
и если указать один столбец в кавычках результата является ожидается:
query = 'SELECT ("colA") FROM my_table;'
cursor.execute(query)
cursor.fetchone()
[False]
Я надеюсь, что кто-то может указать мне в правильном направлении, чтобы понять, почему я получаю необработанный string
при выборе нескольких столбцов с чувствительностью к регистру. Я мог бы выпустить несколько запросов для решения моей проблемы или просто SELECT *
, но для поддержания надежного кода и защиты от будущих изменений в таблице я бы предпочел указать мои столбцы.