1

我正在尝试在 MySQL 数据库中存储商品、网址和价格,并希望让用户可以选择根据名称删除商品。我试图通过使用 DELETE sql 语句来做到这一点,但它只返回“0 item removed”,我猜它无法找到条目,无论是它没有接受输入还是什么。任何帮助将不胜感激,因为我真的很想掌握这个窍门!

def deleteItem(): 
    goneItem = input("Enter item: ")
    removeItem = "DELETE FROM amazon_items WHERE itemName = '%s'"
    mycursor.execute(removeItem, goneItem)
    db.commit()
    print(mycursor.rowcount, "item removed")

4

2 回答 2

2

尝试删除单引号%s,您应该将值%s作为元组传递

def deleteItem(): 
    goneItem = input("Enter item: ")
    removeItem = "DELETE FROM amazon_items WHERE itemName = %s"
    mycursor.execute(removeItem, (goneItem,))
    db.commit()
    print(mycursor.rowcount, "item removed")
于 2020-05-27T19:41:08.400 回答
0

嗨 LearningCode 欢迎来到 stackoverflow,

mycursor.execute(removeItem, (goneItem,))

试试这个。

您可以在文档中看到需要包含逗号以使第二个参数成为元组。

于 2020-05-27T19:42:12.483 回答