[英]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.