본문 바로가기
IT/DB

[MySQL] python mysql 1064 에러 해결방법

by 퐁시냥 2022. 11. 21.

python pymysql 모듈 사용 중 MySQL 1064 에러 발생 시 해결방법에 대해 이야기 해보려 한다. 

pymsql 모듈을 import 해서 데이터를 insert 할 때 발생한 에러이다. 

 

1. MySQL 1064 에러 증상

MySQL 1064 error는 흔히 발생하는 SQL syntax 에러이다. 

python-mysql-1064-programmingerror-fix
python-mysql-1064-programmingerror-fix

흔히 발생하는 에러라 관련 내용을 많이 찾아 봤는데, 내 케이스는 다른 방법으로 해결을 해서 그 내용을 전달하려 한다. 

pymysql.err.ProgrammingError : (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ~ )

 

 

2. MySQL 1064 에러 해결방법

해결 방법은 정말 간단했다. insert 할 때 '%s' 를 %s 로 변경하면 된다. 

 

1) 에러발생 소스 

import pymysql 

conn = pymysql.connect(host='localhost', user='root', db='testdb', charset='utf8')
cursor = conn.cursor()

sql = "INSERT INTO TABLE_A (id, name) VALUES ('%s', '%s')"

cursor.execute(sql, ('1', 'test'))
conn.commit()

 

2) 정상 소스

VALUES 이후에 ('%s') 를 (%s) 로 변경해주면 간단하게 해결이 된다. 

import pymysql 

conn = pymysql.connect(host='localhost', user='root', db='testdb', charset='utf8')
cursor = conn.cursor()

sql = "INSERT INTO TABLE_A (id, name) VALUES (%s, %s)"

cursor.execute(sql, ('1', 'test'))
conn.commit()

 

내 글이 조금이나마 도움이 되었으면 좋겠다. 

'IT > DB' 카테고리의 다른 글

[MSSQL] MSSQL CSV/EXCEL 파일 넣기(BULK INSERT)  (2) 2022.01.26

댓글