SQL UPDATE不更新(PYTHON)

瑞安·福斯(Ryan Fuse)

我在通过用户输入更新表中已有的值时遇到了一些麻烦。当我运行程序时,它会打印出一条语句,说明该项目已成功更新,但不会更改任何值。任何帮助都将是非常有用的,因为我的代码似乎没有任何错误,并且我在此问题上停留了一段时间。

    elif option == "4":
        sqlite3.connect('program.db')
        inp_ID = int(input("Enter the ID of the item you want to update: "))
        itemName = input("Enter New Item Name: ")
        itemPrice = input("Enter the items price: ")
        itemStock = input("Enter the stock amount of the item: ")
        itemDescription = input("Enter a description for the item: ")

        updateSQL = "UPDATE items SET itemName = ?, itemPrice = ?, itemStock = ?, itemDescription = ? WHERE " \
                    "itemID = ? "
        conn.execute(updateSQL, (inp_ID, itemName, itemPrice, itemStock, itemDescription))
        conn.commit()
        print("Item " + itemName + " has been updated.")

这是程序运行时的命令行

AKX

您传递给的参数execute顺序不正确,因此没有行匹配。

conn.execute(
    "UPDATE items SET itemName = ?, itemPrice = ?, itemStock = ?, itemDescription = ? WHERE itemID = ? ",
    (
        itemName,
        itemPrice,
        itemStock,
        itemDescription,
        inp_ID,
    ),
)

可能是您要找的东西。

您还可以使用命名占位符使事情更易于管理。

conn.execute(
    "UPDATE items SET itemName = :name, itemPrice = :price, itemStock = :stock, itemDescription = :desc WHERE itemID = :id",
    {
        "name": itemName,
        "price": itemPrice,
        "stock": itemStock,
        "desc": itemDescription,
        "id": inp_ID,
    },
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有CTE的SQL Update不更新记录

来自分类Dev

如何在不触发UPDATE触发器的情况下“更新” SQL Server表

来自分类Dev

当值为null时,SQL Server Update触发器不更新列

来自分类Dev

当值为null时,SQL Server Update触发器不更新列

来自分类Dev

PHPform不更新SQL行

来自分类Dev

SQL查询不更新表

来自分类Dev

(Postgre)SQL Update查询不返回

来自分类Dev

PL / SQL-不更新更改的行

来自分类Dev

Linq2Sql不更新更改

来自分类Dev

SQL查询不更新数据库

来自分类Dev

从R DataFrame的SQL更新数据不插入

来自分类Dev

通过SQL UPDATE更新Excel数据

来自分类Dev

PHP准备的语句不更新SQL数据库

来自分类Dev

sql更新不更改数据库中的数据

来自分类Dev

更新SQL数据而不刷新页面

来自分类Dev

为什么SQL查询不更新特定行

来自分类Dev

PHP准备的语句不更新SQL数据库

来自分类Dev

SQL Server 删除触发器不更新表

来自分类Dev

Php不返回最新更新的sql程序结果

来自分类Dev

PDO(PHP)中Clob字段的SQL更新既不更新也不抛出更新执行

来自分类Dev

SQL UPDATE:其他列中先前更新的列的值

来自分类Dev

SQL UPDATE:如果行已更新且存在,则返回

来自分类Dev

SQL UPDATE更新表中的最新日期

来自分类Dev

Recordset.Edit或Update sql vba语句更新最快的方法?

来自分类Dev

从Python Pandas更新SQL Server表

来自分类Dev

使用Python批量更新SQL(Oracle)

来自分类Dev

Python 更新 sql 数据库

来自分类Dev

在C#中执行更新查询,但在SQL中不更新

来自分类Dev

SQL不返回数据