Я практикую использование баз данных в Python с sqlite3.Я создаю систему управления запасами для магазина, и у меня есть таблица продуктов с полями: ProductID, Name, StockLevel.
Я пытаюсь обновить уровень запаса при совершении покупки.Таким образом, уровень запаса для определенного продукта должен быть вычтен из заказанного числа.
Мой код:
def update_stock(product,no_bought):
with sqlite3.connect("shop.db") as db:
cursor = db.cursor()
sql = "UPDATE Product SET StockLevel = StockLevel - %s WHERE Name = %s"
cursor.execute(sql, (no_bought, product))
db.commit()
product = input("What product has been bought: ")
no_bought = input("How much has been bought: ")
update_stock(product,no_bought)
sqlite3.OperationalError: вблизи "%": синтаксическая ошибка
Почему он дает эту ошибку?