Python SQLite executemany()是否始终有序?
在Python中,我使用SQLite的executemany()函数和INSERT INTO将内容插入表中。如果我向executemany()传递一个要添加的内容列表,我可以依靠SQLite按顺序从列表中插入这些内容吗?原因是我使用整数主键来自动递增主键。出于各种原因,我需要在将行添加到表中时(在该时间之前或之后,但在该时间前后)了解该行的新的自动递增主键,因此可以非常方便地假设,对于我传递的executemany()列表的每个连续元素,主键都会向上一个。在开始添加内容之前,我已经拥有了现有的最高主键,因此我可以增加一个变量来跟踪我希望executemany()为每个插入行提供的主键。这是一个合理的想法,还是假设太多Python SQLite executemany()是否始终有序?,python,sql,sqlite,Python,Sql,Sqlite,在Python中,我使用SQLite的executemany()函数和INSERT INTO将内容插入表中。如果我向executemany()传递一个要添加的内容列表,我可以依靠SQLite按顺序从列表中插入这些内容吗?原因是我使用整数主键来自动递增主键。出于各种原因,我需要在将行添加到表中时(在该时间之前或之后,但在该时间前后)了解该行的新的自动递增主键,因此可以非常方便地假设,对于我传递的executemany()列表的每个连续元素,主键都会向上一个。在开始添加内容之前,我已经拥有了现有的最
(我想另一种选择是将execute()逐个与sqlite3\u last\u insert\u rowid()一起使用,但这比对数千个条目使用executemany()要慢。)Python的
sqlite3
模块以正确的顺序使用列表值执行语句
注意:如果代码已经知道要生成的ID值,那么您应该显式地插入该值,这样,如果这个期望值被证明是错误的,您就会得到一个错误。好的,只有在复制现有主键时,它才会给我一个错误,而不是跳过一个自动递增的主键时。。。不过,好主意,谢谢。