@mollya

Почему не меняется значение в sqlite?

Сам код:
@bot.callback_query_handler(func=lambda callback: callback.data)
def check_callback_data(callback):
    db = sqlite3.connect("mistify.db")
    c = db.cursor()

    if callback.data == "btn1":
        c.execute(f"UPDATE checker SET vape = 'lol' WHERE user_id = {str(callback.message.from_user.id)}")


почему то значение в таблице не меняется, а если вместо "{str(callback.message.from_user.id)}" подставить свой id, то все работает
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ответы на вопрос 1
vape = 'lol'
Здесь ты сам строку обернул в кавычки, а здесь кавычки откуда должны появиться?
user_id = {str(callback.message.from_user.id)}

Во время работы программы вот это всё
{str(callback.message.from_user.id)}
"Поменяется" на строку с id, но так как ты используешь f форматирование, содержимое этой подстроки вставится в строку без кавычек, а они должны быть, по крайней мере если user_id - строковый тип данных.
spoiler
65c78833370fc246182231.png
Ответ написан
Ваш ответ на вопрос

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

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