代码之家  ›  专栏  ›  技术社区  ›  Bugra Pakir

我不能用Python从数据库中删除数据SQLite3[duplicate]

  •  -2
  • Bugra Pakir  · 技术社区  · 2 年前

    有时: 没有这样的专栏:鲑鱼 没有这样的专栏:可乐

    这正是我遇到的错误。 我检查了我的代码很多次,但我找不到发生这种情况的原因。 由于我的代码太长,我将给你我的程序中负责删除以下选定数据的部分。

    以下是我的代码:

        def DeleteTheProduct(self):
            question = askyesno("","ARE YOU SURE YOU WANT TO DELETE THE PRODUCT?")
            if question:
                selected_product = self.ui2.ProductTable.selectedItems()
                product_to_be_deleted = selected_product[1].text()
                try:
                    self.curs.execute("DELETE FROM Products WHERE productname=%s"%(product_to_be_deleted))
                    self.conn.commit()
                    self.interface2()
                    self.ui2.statusbar.showMessage("THE PRODUCT HAS BEEN DELETED.",10000)
                except Exception as error:
                    print(error)
            else:
                pass
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   svfat    2 年前

    SQL语法中存在错误。您需要在查询中引用productname:

    "DELETE FROM Products WHERE productname='%s'"
    

    否则,它会尝试查找productname列与具有给定名称的列相等但不存在的行