@Valde0183

Sqlite3 не работает update?

Добрый вечер, Делаю команду, которая будет менять ник по команде, но чет не получается, хотя если указать name = "Новый ник" и запустить функцию, то ник меняется, а если передавать этот ник в функцию, то не хочет работать. Поможете?
Код бд

def add_nick(user_id, text):
    try:
        with sqlite3.connect("db.db") as con:
            cursor = con.cursor()

            cursor.execute("SELECT name FROM gaming WHERE user_id = ?", [user_id])

            cur = cursor.fetchone()[0]
            print(cur)
            if cur is not None:
                cursor.execute("UPDATE gaming SET name =  ? WHERE user_id = ?", [user_id, text])
            else:
                print("Поле пустое")
            

    except Exception as e:
        print("Ошибка: add_nick ", e)


Код
@bp.on.message(text="+ник <text>")
async def add_nick_handler(message: Message, text=None):
    add_nick(message.from_id, text)
    print(text)</spoiler>


Таблица
6264116f4a78c072760324.jpeg
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
А почему name в запросе идёт первым, а user_id - вторым - при этом в передаваемых параметрах наоборот?

cursor.execute("UPDATE gaming SET name =  ? WHERE user_id = ?", [user_id, text])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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