Почему первый результат пропускается при выполнении запроса SQLite из кода Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему первый результат пропускается при выполнении запроса SQLite из кода Python?

Сообщение Anonymous »

Первый результат пропускается при выполнении запроса из кода Python.

Код: Выделить всё

rooms = cur2.execute("SELECT r.* FROM rooms r JOIN room_members rm ON r.id = rm.room_id JOIN users u ON u.id = rm.user_id WHERE u.username = ?;",(usr,)).fetchall()
Я хочу получить все комнаты, частью которых является этот пользователь, room_members, играющие отношения «многие ко многим», но по какой-то причине, если результатом является одна комната, он возвращает None therooms var пуст, и если комнат больше одной, она пропускает первую и возвращает остальные. но если я запускаю запрос в оболочке SQL, он работает нормально и показывает правильные результаты.
Надеюсь, я хорошо это описываю.
Это может быть связано с тем, как обрабатывается результат fetchall(), или может возникнуть проблема с обработкой подключения к базе данных или курсора. поэтому я попробовал fetchone(), удалив sqlite3.Row, обеспечив согласованность типов данных, изменив курсор на

Код: Выделить всё

rooms = cur.execute('''
SELECT r.*
FROM rooms r
JOIN room_members rm ON r.id = rm.room_id
JOIN users u ON u.id = rm.user_id
WHERE u.username = ?;
''', (usr,)).fetchall()
Я не могу понять, что вызывает эту проблему.

Подробнее здесь: https://stackoverflow.com/questions/790 ... from-a-pyt
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»