Python 更新mysqlDB时出错

Python 更新mysqlDB时出错,python,sql-update,mysql-python,Python,Sql Update,Mysql Python,您好,我有一个更新查询,如下所示: self.cursor.execute("""UPDATE files SET thumbnailPath=%s, updated_at=%s WHERE id=%s""", (thumbnailPath, timestamp, fileID)) 其中,例如: thumbnailPath = "/1/21/2921" timestamp = datetime.datetime(2012, 9, 5, 12, 57, 42

您好,我有一个更新查询,如下所示:

self.cursor.execute("""UPDATE files SET thumbnailPath=%s, updated_at=%s WHERE id=%s""",
                   (thumbnailPath, timestamp, fileID))
其中,例如:

thumbnailPath = "/1/21/2921"
timestamp = datetime.datetime(2012, 9, 5, 12, 57, 42)
fileID = 1654
我得到的错误是:

“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解第1行中id=2922'附近使用的正确语法”


我不明白这个词是从哪里来的,有人能帮我理解出什么问题吗?当我的查询没有包含更新的_at字段时,它就起作用了。另一个可能有帮助的解决方案是如何在不影响已更新字段的情况下进行更新

也许添加引号可以解决问题

 WHERE id='%s'
或者,由于fileID是整数,您可以尝试执行以下操作:

 WHERE id=%d

我得到的是%d:%d格式:需要一个数字,而不是str,并在id='2922'的位置添加'%s'输出。如果您的查询在没有更新的情况下运行,请仔细检查插入更新的%s中的值是否有效。好的,谢谢指针,我意识到在最初将内容添加到更新的时,它是字符串格式,而不是日期时间格式