Python MySQL更新语句不起作用

标签 python mysql sql-update

我尝试在 python 2.7 中执行一个简单的更新语句,但它根本不起作用。我希望有人能告诉我错误:

import MySQLdb
import datetime

db = MySQLdb.connect(host="localhost",    # your host, usually localhost
                     user="root",         # your username
                     passwd="",  # your password
                     db="******")        # name of the data base

cur = db.cursor()

cur.execute("SELECT * FROM data")

for row in cur.fetchall():
    id_row = str(row[0])
    date = str(row[1])
    new_date = date[:-2]
    new_date += "00"
    cur.execute("UPDATE data SET date={0} WHERE ID={1}".format(new_date, id_row))

db.close()

脚本应该从数据库中获取日期作为unix时间戳 最后两个数字,将其替换为 00 并更新数据库中的行。 替换数字的代码有效,但更新过程无效。 它不显示任何错误消息并以代码 0 退出。

我不知道我在哪里犯了错误。有人可以帮忙吗?

非常感谢!

最佳答案

我真丢脸!

错误是缺少 db.commit()。

感谢您的提示! :)

关于Python MySQL更新语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46139349/

相关文章:

python - SQL ORDER BY 时间戳,相同的值

python - 错误匹配列表python中的0

python - 了解使基于类的装饰器支持实例方法的技术

php - 无法将mysql中的商标符号显示为html

mysql更新相关行

mysql - mysqli 中更新字段的返回值

Mysql ERROR 1062 (23000) : Duplicate entry. 更新不会违反唯一约束的行

python - 如何使用 pyqt4 的 Thread 并行运行两个程序

javascript - Node.js 错误 TypeError : object is not a function on callback

php - 如何使用PHP显示特定列的最后插入行的数据