2014-04-08 1 views
1

나는 python으로 MySQL 업데이트 문을 만들려고 노력하고있다. 그러나 MySQL 워크 벤치에서 쿼리를 시도 할 때 "SQL 구문에 오류가있다"라는 오류가 계속 발생한다. 내가 뭘 잘못하고 있는지 전혀 모르겠다.MySQLdb update statement

코드

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

전체 오류

1064, "당신은 당신의 SQL 구문에 오류가있다;에 대한 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인을 ')'1 번 행 근처에서 사용하십시오. "

답변

1

여기에 몇 가지 문제가 발생합니다.

먼저 모든 % s 포맷터 주위에 작은 따옴표가 필요합니다. 나는 파이썬에 익숙하지 않지만 대개 \ '와 같은 이스케이프 시퀀스를 사용하여 따옴표를 추가해야합니다.

두 번째로, 문장의 끝 부분에 괄호가 잘못 배치 된 것처럼 보입니다. 행운을 빕니다!

3

여기에 답변했습니다 : https://stackoverflow.com/a/2741646/1781207. 당신은 당신의 SQL 문 안에 ")"여분을 가지고있는 것처럼

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

이 보이는