我正在动态创建批量插入查询。 在我的应用程序中,我使用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)。
是否有一个python函数接受一个字符串并转义所有需要转义为Mysql的字符?
想象一下,我想创建一个写入磁盘的文件,然后通过mysql控制台执行它。
答案 0 :(得分:1)
以下是解决方案:
首先获得DBAPi连接
connection = engine. raw_connection()
然后你可以使用:
来转义字符串v connection.escape(v)