【问题标题】:Execute bulk insert with sqlalchemy and mysql使用 sqlalchemy 和 mysql 执行批量插入
【发布时间】:2012-09-12 17:21:17
【问题描述】:

我正在动态创建批量插入查询。 在我的应用程序中,我使用 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 控制台执行它。

【问题讨论】:

    标签: python mysql sqlalchemy


    【解决方案1】:

    解决办法如下:

    首先获得一个 DBAPi 连接

     connection = engine. raw_connection()
    

    然后你可以转义字符串 v 使用:

     connection.escape(v)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-09
      • 2018-09-18
      • 2017-01-20
      • 2015-11-06
      • 2016-11-29
      • 2019-05-16
      • 2016-07-11
      • 1970-01-01
      相关资源
      最近更新 更多