@FILMANS

Как сделать проверку на нулевое значение Sqlite3?

Здравствуйте. Сделал проверку на нулевое значение, но она не работает.
Код:
cursor.execute("UPDATE promo SET activations = activations - 1 WHERE promo_code=?", (promo_code,))
    conn.commit()
    
    if activations <= 0:
        bot.send_message(user_id, "Промокод уже активирован максимальное количество раз.")
    else:
        bot.send_message(user_id, "Промокод активирован!")


Суть работы кода:
в столбце activations (в базе данных sqlite3) есть значение. Любое.

С каждой активацией промокода, строчка:
cursor.execute("UPDATE promo SET activations = activations - 1 WHERE promo_code=?", (promo_code,))
    conn.commit()

отнимает - 1 от значения которое есть в столбце activations. И когда значение достигает нулевого значения, строчка:
if activations <= 0:
        bot.send_message(user_id, "Промокод уже активирован максимальное количество раз.")
    else:
        bot.send_message(user_id, "Промокод активирован!")

Должна проверить на нулевое значение в этом столбце и бот должен сообщить, что промокод уже активирован максимальное количество раз. Или если значение не нулевое, то бот пишет: промокод активирован!
Но эта строчка работает некорректно. После нуля пошли отрицательные числа соответственно , а код продолжает писать "промокод активирован!"

Подскажите пожалуйста.
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 1
LaRN
@LaRN
Senior Developer
А как переменная activations связана с полем activations в таблице БД?
Ответ написан
Ваш ответ на вопрос

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

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