2017-11-19 14 views
-1

자주 pymysql을 사용하여 MySQL 서버에 데이터를 삽입합니다.PyMySQL을 사용하여 MySQL에 문자열을 삽입 할 때 구문 오류가 발생했습니다.

문자열을 삽입 할 때

, 나는 일반적으로 (그러나 때마다)가 나타납니다 pymysql.err.ProgrammingError :

(1064, ...) 나는 (A VARCHAR을 의미한다) 코드를 사용하여 문자열을 삽입 할 때
cursor.execute("Insert into table (column) values (%s)", (stringVar)) 

은 일반적으로 내가 좋아하는 뭔가를해야 할 : 그러나

cursor.execute("Insert into table (column) values ('"+stringVar+"')")) 

을, 때로는 그 같은 오류가 발생하고 내가 좋아하는 뭔가를 할 필요가 :

stringVar="'"+stringVar       
stringVar=stringVar+"'"   
cursor.execute("Insert into table (column) values ("+stringVar+")") 
0123을

이 방법은이 작업을 프로그래밍하는 데는 적합하지 않습니다.

나는 단순한 것을 엉망으로 만들고 있다고 생각하지만, 이것이 무엇인지 알 수 없다. 나는 pymysql을 많이 사용하고 있으며이 오류는 실제로 나에게 착용하기 시작했다. 어떤 도움을 많이 주시면 감사하겠습니다!

+0

코드를 형식화하고 전체 오류 메시지를 포함하십시오. – Shadow

+0

'cursor.execute ("테이블 table_name (column) 값 (?)에 삽입", (stringVar,))'' – Yay295

답변

0
cursor.execute('INSERT INTO table (column) VALUES (?)', (stringVar,)) 

문자열을 직접 쿼리의 형식을 지정하려고 할 때마다 기본적으로 항상 잘못된 신호를 보내고 있습니다. 필자가 알고있는 모든 파이썬 데이터베이스 인터페이스에는 위와 같은 쿼리에 매개 변수를 전달하는 방법이 있습니다. iterable 내에 stringVar이 포함되어 있어야합니다.