Ошибка чтения переменной в бд
В игре имеется фильтр start который при запуске изменяет свое значение и не дает пользователю заново начать игру. Как обновить это значение в бд? Ошибок никаких не выдает, синтаксис кода написан по правилам, но он не работает)
#Начало игры
sql.execute(f"SELECT id, start_game, cash FROM users WHERE id = '{userid}' AND cash = '{cash}' AND start_game = '{start}'")
if eventxt == 'Старт' and sql.fetchone() is None:
sql.execute(f"INSERT INTO users VALUES (?, ?, ?)", (userid, 0, 0))
start += 1
#Обновляем переменную start чтобы юзер не начал игру заново
sql.execute(f"UPDATE users SET start_game = {start} WHERE id = '{userid}'")
Vk.msg('message', userid)
db.commit()
print("Новый пользователь!")
#Новая игра
if eventxt == 'Старт' and sql.execute(f"SELECT id, start_game FROM users WHERE id = '{userid}' AND start_game = {1}"):
Vk.msg("Вы не можете начать игру заново" , userid)
Получается что когда юзер пишет "Старт", значение переменной обновляется на 1 и при следующем сообщении "Старт" от юзера мы смотрим переменную и если её значение 1 то пишем что начать заново нельзя. Когда мы пишем "Старт" вот что отображается в cmd:
Как исправить проблему чтобы при 2 отправке юзером сообщения "Старт" ему отпровлялось соответствующее сообщение и данные в БД никак не изменялись?