MySQLdb更新语句

时间:2014-04-08 12:37:51

标签: mysql-python

我试图用python制作一个MySQL更新语句,但我一直得到#34;你的SQL语法错误了#34;错误,而当我在MySQL工作台中尝试查询时,语句完全有效。我不知道我做错了什么。

代码

self.cur.execute('UPDATE UserAction SET count=%s WHERE user=%s AND action=%s)',
                                     (count, id, action))

完整错误

1064,"您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在附近使用')'在第1行"

2 个答案:

答案 0 :(得分:3)

这里的回答如下:https://stackoverflow.com/a/2741646/1781207

self.cur.execute('UPDATE UserAction SET count=%s WHERE user=%s AND action=\'%s\'', (count, id, action))

看起来你的SQL语句中有一个额外的“)”

答案 1 :(得分:1)

这里有一些问题导致了问题:

首先,您需要围绕所有%s格式化程序使用单引号。我不熟悉python,但通常你必须使用像\'和#39;这样的转义序列。添加引号。

其次,你的陈述结尾似乎有一个错位的括号。祝你好运!