Python Telegram Bot. Как правильно изменить данные в БД Sqlite3?
Всем привет! Столкнулся с проблемой при попытке создать изменения в балансе для телеграмм бота Использую TelegramBotAPI (Он же telebot) и Sqlite3
user = message.from_user.id
sql = "UPDATE main SET balance = ? \
WHERE user_id = ?"
val = ("balance + 15", user)
c.execute(sql, val)
conn.commit()
При работе в balance он просто записывает значение "balance + 15", вместо прибавления 15 к имеющимся числу
Пробовал делать "небезопасным" методом:
c.execute("UPDATE main SET balance = balance + 15
WHERE user_id = id_пользователя ")
conn.commit()
В этом случае баланс записывается правильно, но работает только если руками указать id конкретного пользователя
"balance + 15" - это строка, в таком варианте скрипт будет пытаться в переменную balance записать эту строку, а не выполнить сложение. Собственно, уже показали правильное решение, так что я просто поясняю для улучшения понимания.