Я пытаюсь написать простой запрос к базе данных sqlite в скрипте Python. Чтобы проверить правильность моих параметров, я попытался выполнить запрос из командной строки ipython. Выглядело это примерно так:
import sqlite3
db = 'G:\path\to\db\file.sqlite'
conn = sqlite3.connect(db)
results = conn.execute('SELECT * FROM studies').fetchall()
почему-то мои результаты вернулись совершенно пустыми. Затем я попробовал другой тестовый запрос:
results = conn.execute('SELECT id FROM studies').fetchall()
Который вернулся правильно. Я подумал, что есть проблема со звездочкой [НЕПРАВИЛЬНО, СМОТРИ ВТОРОЕ ОБНОВЛЕНИЕ ВНИЗУ НИЖЕ], поэтому я попробовал запрос «SELECT * FROM Studies» из командной строки python по умолчанию. И вот, он вернулся правильно. Я попробовал все обычные способы избежать звездочки только для того, чтобы встретить большое количество сообщений об ошибках. Есть ли способ выполнить этот запрос в IPython?
РЕДАКТИРОВАТЬ: Извините, я неправильно предположил, что IronPython и IPython были одинаковыми. Я имел в виду командную строку IPython, а не инфраструктуру IronPython.
EDIT2: Хорошо, оказывается, звездочка работает, как показано в этом успешном запросе:
'SELECT COUNT(*) FROM studies'
Из предложений, размещенных здесь, выясняется, что ошибка связана с попыткой вернуть записи с несколькими полями, т. Е .:
.
'SELECT field1,field2 FROM studies'
, что по-прежнему приводит к возвращению записей. Я изменил название вопроса соответственно.