簡體   English   中英

使用sqlalchemy和mysql執行批量插入

[英]Execute bulk insert with sqlalchemy and mysql

我正在動態創建批量插入查詢。 在我的應用程序中,我使用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控制台執行它。

這是解決方案:

首先獲得一個DBAPi連接

 connection = engine. raw_connection()

然后可以使用以下命令轉義字符串v:

 connection.escape(v)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM