У меня есть таблица под названием «транзакции». Я хочу получить из этой таблицы мою колонку «акции» с некоторыми условиями. Поэтому я делаю следующее:
available_shares = db.execute("SELECT SUM(shares) as total_shares FROM transactions WHERE id = :id and stock = :symbol GROUP BY stock",
id=session["user_id"], symbol=request.form.get("symbol"))
Чтобы увидеть, работает ли этот код должным образом, я добрался до sqlite 3 и в аргументе командной строки введите следующее:
SELECT SUM(shares) as total_shares FROM transactions WHERE id=8 AND stock= "AAPL" GROUP BY stock;
И он возвращает правильный код:
total_shares
0
Проблема возникает, когда я хочу удалить строку из таблицы транзакций, если total_shares равно 0. Для этого я делаю следующее ( кстати, это не работает):
if available_shares[0]["total_shares"] == 0:
db.execute("DELETE FROM transactions WHERE id=:id AND stock=:symbol", id=session["user_id"], symbol=request.form.get("symbol"))
Я не могу понять, почему при запуске программы строка все еще там, как если бы программа не распознала это условие, поэтому она ничего не удаляет. Может кто-то мне помочь, пожалуйста? Заранее спасибо!