2014-04-08 88 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語句中