MySQL Update Statement不起作用

时间:2012-07-14 18:58:55

标签: python mysql

我在MySQL中的更新语句似乎不起作用:

timeup = "UPDATE timeid set time=\"" + str(timeid) + "\""
c.execute(timeup)

我已经尝试过我认为可能出错的一切,包括更改变量的类型(如上所示,我将其作为字符串)并使用而不是使用引号。

我甚至可以打印出声明变成的内容:

UPDATE timeid set time="224215313716215808"

timeid所拥有的唯一列和值分别是时间和0。

为什么不更新?我做错了吗?

3 个答案:

答案 0 :(得分:2)

您需要使用:

c.commit();

因为MySQLdb开始更新语句的事务。

答案 1 :(得分:1)

尝试:

timeup = "UPDATE `timeid` SET `time`='" + str(timeid) + "';"
c.execute(timeup)

时间可能是SQL中的常量,因此使用简单的引号(我不知道,它们是如何被调用的)确保您引用一个字段。并尝试使用'来设置值,并考虑添加分号。

您之前选择过数据库吗?

答案 2 :(得分:-1)

尝试在查询末尾添加分号(;)并告诉我它是否有效。