我试图用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行"
答案 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;这样的转义序列。添加引号。
其次,你的陈述结尾似乎有一个错位的括号。祝你好运!