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 回答