Задать вопрос
@helldess

Как реализовать удаление товара из базы данных, если его нет в наличии(количество=0)?

Всем привет, пишу телеграм бота на aiogram, мне нужно, чтобы при определенном количестве(0шт) товара либо удалялся из бд, либо просто не отображался в инлайн кнопках обычным юзерам. Попытался это сделать при помощи функции, но не получилось:
async def delete_item_vpn(state: FSMContext):
    async with state.proxy() as data:
        products = data['productsvpn'] #тут содержаться все данные из бд
    if products[5] == 0:
        BotDB.delete_item_vpn(products[0])
    else:
        pass

Так у меня выглядит запрос к бд на удаление товара, возможно немного не правильный, если что подскажите:
def delete_item_vpn(self, productsid):
    result = self.cursor.execute("DELETE * FROM products_vpn WHERE productsid = ?, amount = ?", (productsid,))
    self.conn.commit()
    return result
  • Вопрос задан
  • 136 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
Так загружайте в data только то что больше нуля. например:
SELECT * FROM products_vpn WHERE amount > 0;
Ну или удаляйте правильно:
result = self.cursor.execute("DELETE FROM products_vpn WHERE productsid = ? AND amount = 0", (productsid,))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
DELETE * FROM products_vpn WHERE productsid = ?, amount = ?

Ты наверное - бывший программист на Prolog?
Что это за запятая там стоит?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы