2012-02-19 1 views
1

를 사용하여 SQL을 처리 할 때.아포스트로피 (')의 도움 내가 파이썬을 사용하여 SQL 스크립트를 생성 할 삽입 문을 내용에 읽기 및 쓰기 위해 노력하고 있어요 파이썬

내가 읽는 내용에 aprostrophe가 포함되어 있고 다른 사람과 단순히 (') 바꿀 수 없기 때문에 나는이 문제를 해결할 방법이 확실하지 않다. asciimathml (Maths 데이터)를 다루었 고 읽은 내용을 변경할 수는 없습니다.

감사합니다.

+3

아포스트로피가 문제인 경우 데이터를 이스케이프 처리하지 않은 것입니다 (SQL 쿼리의 일부로 사용하기 전에 수행해야합니다). 당신은 이스케이프 처리 할 ... ... 특히 것 입력 문자열의 예는 재미를 http://xkcd.com/327/를 참조하십시오. – Borealid

+0

발견 "파이썬 SQL 매개 변수"에 대한 빠른 검색 [이 질문] (http://stackoverflow.com/questions/3410455/how-do-i-use-sql-parameters-with-python) - 즉하지 않는 경우 맞는 (다른 SQL 라이브러리를 사용합니까?), 그런 다음 라이브러리의 이름과 "parameter"/ –

답변

3

당신은 작은 따옴표를 두 번 또는 백 슬래시를 앞에하는 escape_string 기능 중 하나를 (모든 DB 패키지가 하나 제공)를 사용할 수 있습니다. 그러나 매개 변수 대체를 사용하면 훨씬 나아질 것입니다. 예 :

cursor.execute("INSERT INTO Test (column1, column2) VALUES (?, ?)", "It's all right", 45) 

이렇게하면 서버가 문자열을 올바르게 이스케이프 처리합니다.

관련 문제