Я пытаюсь вернуть, какие строки используются в моей последовательности ОБНОВЛЕНИЯ, чтобы проверить, обновило ли оно что-нибудь на самом деле или оно пыталось обновить несуществующую строку, но у меня возникают проблемы с возвращением фактических строк
После запросаДрузья и просматривая другие статьи, я попытался использовать методы, которые они представили, например, метод rowcount
sqlite3, а также оператор RETURNING в функции execute, но оба выдают AttributeError и SQLError, соответственно.
def set_reason(guild: str, warn_id: int, reason):
warns.execute("UPDATE warns SET reason=:reason WHERE id=:id AND server=:guild", {'reason': reason, 'id': warn_id, 'guild': guild})
return warns.fetchone()
Попытка использовать оператор RETURNING:
warns.execute("UPDATE warns SET reason=:reason WHERE id=:id AND server=:guild RETURNING warns.*", {'reason': reason, 'id': warn_id, 'guild': guild})
Я получаю apsw.SQLError: SQLError: near "RETURNING": syntax error
.
И попытка использовать метод rowcount
:
warns.execute("UPDATE warns SET reason=:reason WHERE id=:id AND server=:guild", {'reason': reason, 'id': warn_id, 'guild': guild}).rowcount()
Я получаю 'AttributeError:' apsw.Cursor 'не имеет атрибута' rowcount'`