python - 更新函数不更新表条目

标签 python mysql

我创建了一个函数,它应该更新表的条目。该条目由用户指定。当我运行该程序时,我没有收到任何错误。本应更新的条目并未更新。

def updateEnc(pos, key):
    my_cursor = mydb.cursor()
    if pos.upper() == "NAME":
        sql = "UPDATE encounter SET name = %s WHERE id = %s"
        id = key
        name = (input("Enter name: "))
        my_cursor.execute(sql, name, id)
        mydb.commit() #mydb = my database
    elif pos.upper() == "DESCRIPTION":
        sql = "UPDATE encounter SET description = %s WHERE id = %s"
        id = key
        description = input("Enter description: ")
        my_cursor.execute(sql, description, id)
        mydb.commit()

表格的填充方式如下:

name: change
description: keep
id: 1

name: keep2
description: keep3
id: 2

调用 UPDATE 函数后,它应该如下所示:

name: change
description: keep
id: 1

name: keep2
description: keep3
id: 2

但即便如此,它也不会更新

感谢您的宝贵时间。祝你今天休息愉快!

最佳答案

当您打开与数据库的连接并开始进行查询时,它们是事务的一部分,在调用“提交”更改的方法之前不会提交到数据库。此方法的确切语法取决于您用来连接数据库的内容,但一般采用 connection.commit() 形式。

MySQL docs where this is explained in more detail

如果您在此处发布的内容之外添加了此行,请将其余相关代码添加到您的问题中。

关于python - 更新函数不更新表条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55976638/

相关文章:

php - 删除 MySQL PHP

mysql - 使用时间戳和计数格式化 MySQL 查询

mysql - undefined variable : mysql whereNotIn

python - 在德威,我如何提交到一个分支而不是 HEAD?

python - 在 Python 中比较数值时的隐式转换

mysql - 通过 SQLCMD 将 sql 文件从 MySQL 导入到 MS SQL 时语法不正确

php - 如何显示基于 friend 的 friend 的推荐列表

python - 如何在pygame中制作半透明 Sprite

python - x 轴上的刻度标签不对称 (Matplotlib)

python - 在python中检测并删除锁定的文件