更新功能不会更新表条目

时间:2019-05-03 20:23:59

标签: python mysql

我创建了一个函数,该函数应该更新表的条目。该条目由用户指定。当我运行程序时,没有任何错误。应该是UPDATED的条目不是。

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

但是即使如此,它也不会UPDATE

谢谢您的时间。祝您度过愉快的一天!

1 个答案:

答案 0 :(得分:0)

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

MySQL docs where this is explained in more detail

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