0

一括挿入クエリを動的に作成しています。私のアプリケーションでは、sqlAlchemy を使用しており、その挿入を実行したいと考えています。

問題は、クエリを作成するときにあります。エスケープする必要がある特殊文字を含むデータを挿入したい。

MysqlDb モジュールを使用すると、特殊文字をエスケープする関数 MySQLdb.escape_string がありますが、残念ながら Unicode 文字では機能しません。

私のオプションは何ですか?

クエリを次のように作成するのは簡単ではないことに注意してください。

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

したがって、 Session.execute(q, q_dict) を実行できます。

文字列を受け入れ、Mysql のエスケープが必要なすべての文字をエスケープする python 関数はありますか?

ファイルを作成してディスクに書き込み、それを mysql コンソールから実行したいとします。

4

1 に答える 1

1

解決策は次のとおりです。

最初に DBAPi 接続を取得します

 connection = engine. raw_connection()

そして、次を使用して文字列 v をエスケープできます。

 connection.escape(v)
于 2012-09-12T09:21:17.457 に答える