2014-04-08 86 views
1

我试图用python做MySQL更新语句,但我不断收到“您的SQL语法有错误”错误,而当我在MySQL工作台中尝试查询时,该语句完全起作用。我不知道我做错了什么。MySQLdb更新语句

代码

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

完整的错误

1064,“您的SQL语法错误;检查对应于您的MySQL服务器版本正确的语法手册在第1行使用''''

回答

1

有几件事情在这里引起问题:

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

其次,您在发言结束时似乎有一个错位的左括号。祝你好运!

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语句中