簡體   English   中英

Python SQLite executemany()總是按順序執行嗎?

[英]Python SQLite executemany() always in order?

在Python中,我將SQLite的executemany()函數與INSERT INTO配合使用,以將內容插入表中。 如果我通過executemany()列出要添加的內容,是否可以依靠SQLite從列表中按順序插入這些內容? 原因是因為我使用INTEGER PRIMARY KEY自動增加主鍵。 由於各種原因,我需要在將行添加到表時(在此之前或之后,但是大約是該時間)知道行的新的自動遞增主鍵,因此簡單地假設我傳遞executemany()的列表的每個連續元素,主鍵都會上升一個。 在開始添加內容之前,我已經具有最高的主鍵,因此我可以增加一個變量來跟蹤我希望executemany()賦予每個插入行的主鍵。 這是一個好主意,還是假設太多?

(我想,替代方法是與sqlite3_last_insert_rowid()一對一地使用execute(),但這要比對數千個條目使用executemany()慢。)

Python的sqlite3模塊以正確的順序執行帶有列表值的語句。

注意:如果代碼已經知道要生成的ID值,則應顯式插入該值,以便在此預期錯誤的情況下出錯。

暫無
暫無

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

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