我创建了一个函数,该函数应该更新表的条目。该条目由用户指定。当我运行程序时,没有任何错误。应该是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
谢谢您的时间。祝您度过愉快的一天!
答案 0 :(得分:0)
当您打开与数据库的连接并开始进行查询时,它们是事务的一部分,除非调用一种“提交”更改的方法,否则事务不会提交给数据库。此方法的确切语法取决于您用于连接数据库的内容,但通常采用connection.commit()
的形式。
MySQL docs where this is explained in more detail
如果您在此处发布的内容之外添加了此行,请在问题中添加其余相关代码。