@AlerX

Почему Postgresql выдает ошибку при execute запросе?

Появился вопрос, сталкиваюсь с проблемой уже много раз, иногда она решалась после пару запусков программы(Что достаточно странно). И так, проблема заключается в том, что при execute запрос на бд, мне postgresql выдает ошибку.
Код:
money = sqlexecute(f"SELECT money FROM main WHERE user_id = {str(user_id)}")[0]

Итак, sqlexecute это функция которая возвращает содержимое
Функция:
def sqlexecute(execute):
    sql.execute(str(execute))
    return sql.fetchall()[0]

После этого, я пытаюсь вывести содержимое переменной money
На что мне выдает ошибку
Ошибка:
File "...", line 673, in moneycheck
    money = sqlexecute(f"SELECT money FROM main WHERE user_id = {str(user_id)}")[0]
  File "...", line 655, in sqlexecute
    return sql.fetchall()[0]
psycopg2.ProgrammingError: no results to fetch

sql это курсор
sqz = psycopg2.connect(database='...', user='...', password='...')
sql = sqz.cursor()

Возможно , я что-то упускаю, но решение этой проблемы я не смог найти.
  • Вопрос задан
  • 1707 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kova1ev
fetchall() нужно же применять к результату ответа, а не к указателю на базу
def sqlexecute(query):
    return sql.execute(query).fetchall()[0]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы