簡體   English   中英

Python sqlite:使用未指定數量的參數的executemany()

[英]Python sqlite: using executemany() with unspecified number of parameters

我正在將 python3 與 pyodbc 庫一起使用。 我正在將遠程 MSSQL 數據庫中的數據提取到本地 sqlite 文件中。 我在兩個數據庫中都有一個名為“產品”的表,我正在做這樣的事情:

prod_list = remote_db.cursor.execute('select * from Products').fetchall()
local_db.cursor.executemany('INSERT INTO Products VALUES(?, ?, ?, ?)', prod_list)

效果很好,直到我有一個包含 50 多個字段的表。 我真的必須寫'嗎? 五十次?

考慮根據prod_list的長度動態創建准備好的語句:

qmarks = ", ".join('?' for i in prod_list[0])

sql = f"INSERT INTO Products VALUES ({qmarks})"
local_db.cursor.executemany(sql, prod_list)

暫無
暫無

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

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