2012-09-11 4 views
0

대량 삽입 쿼리를 동적으로 생성합니다. 내 응용 프로그램에서 나는 sqlAlchemy를 사용하고 그 삽입을 실행하고 싶습니다.sqlalchemy 및 mysql을 사용하여 대량 삽입 실행

쿼리를 만들 때 문제가 발생합니다. 이스케이프해야하는 특수 문자가 포함 된 데이터를 삽입하고 싶습니다.

MysqlDb 모듈을 사용하면 특수 문자를 이스케이프 처리하지만 유감스럽게도 유니 코드 문자에는 작동하지 않는 MySQLdb.escape_string 함수가 있습니다.

내 옵션에는 어떤 것이 있습니까?

나는 그렇게 내가 Session.execute (Q, q_dict)를 실행할 수 있습니다

q = INSERT INTO table (a, b) VALUES (:a1, :b1), (:a2, :b2) 
q_dict = {(a1, b1), (a2, b2)} 

으로 쿼리를 쉽게 만들 수없는 것을 통지합니다.

문자열을 받아들이고 Mysql에서 이스케이프해야하는 모든 문자를 이스케이프 처리하는 Python 함수가 있습니까?

디스크에 파일을 작성한 다음 mysql 콘솔을 통해 실행하려고한다고 상상해보십시오.

먼저

connection = engine. raw_connection() 

DBAPI 연결을 얻을 그리고 사용 문자열 V를 탈출 할 수 있습니다 :

connection.escape(v) 
다음

답변

1

는 솔루션입니다