我在MySQL中的更新语句似乎不起作用:
timeup = "UPDATE timeid set time=\"" + str(timeid) + "\""
c.execute(timeup)
我已经尝试过我认为可能出错的一切,包括更改变量的类型(如上所示,我将其作为字符串)并使用而不是使用引号。
我甚至可以打印出声明变成的内容:
UPDATE timeid set time="224215313716215808"
timeid所拥有的唯一列和值分别是时间和0。
为什么不更新?我做错了吗?
答案 0 :(得分:2)
您需要使用:
c.commit();
因为MySQLdb
开始更新语句的事务。
答案 1 :(得分:1)
尝试:
timeup = "UPDATE `timeid` SET `time`='" + str(timeid) + "';"
c.execute(timeup)
时间可能是SQL中的常量,因此使用简单的引号(我不知道,它们是如何被调用的)确保您引用一个字段。并尝试使用'
来设置值,并考虑添加分号。
您之前选择过数据库吗?
答案 2 :(得分:-1)
尝试在查询末尾添加分号(;)并告诉我它是否有效。