我正在將 python3 與 pyodbc 庫一起使用。我正在將遠程 MSSQL 資料庫中的資料提取到本地 sqlite 檔案中。我在兩個資料庫中都有一個名為“Products”的表,我正在做這樣的事情:
prod_list = remote_db.cursor.execute('select * from Products').fetchall()
local_db.cursor.executemany('INSERT INTO Products VALUES(?, ?, ?, ?)', prod_list)
效果很好,直到我有一張包含 50 多個欄位的表。我真的必須寫'嗎?五十次?
uj5u.com熱心網友回復:
考慮動態創建以長度為條件的準備好的陳述句prod_list:
qmarks = ", ".join('?' for i in prod_list[0])
sql = f"INSERT INTO Products VALUES ({qmarks})"
local_db.cursor.executemany(sql, prod_list)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/390811.html
