Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLite executemany()是否始终有序?_Python_Sql_Sqlite - Fatal编程技术网

Python SQLite executemany()是否始终有序?

Python SQLite executemany()是否始终有序?,python,sql,sqlite,Python,Sql,Sqlite,在Python中,我使用SQLite的executemany()函数和INSERT INTO将内容插入表中。如果我向executemany()传递一个要添加的内容列表,我可以依靠SQLite按顺序从列表中插入这些内容吗?原因是我使用整数主键来自动递增主键。出于各种原因,我需要在将行添加到表中时(在该时间之前或之后,但在该时间前后)了解该行的新的自动递增主键,因此可以非常方便地假设,对于我传递的executemany()列表的每个连续元素,主键都会向上一个。在开始添加内容之前,我已经拥有了现有的最

在Python中,我使用SQLite的executemany()函数和INSERT INTO将内容插入表中。如果我向executemany()传递一个要添加的内容列表,我可以依靠SQLite按顺序从列表中插入这些内容吗?原因是我使用整数主键来自动递增主键。出于各种原因,我需要在将行添加到表中时(在该时间之前或之后,但在该时间前后)了解该行的新的自动递增主键,因此可以非常方便地假设,对于我传递的executemany()列表的每个连续元素,主键都会向上一个。在开始添加内容之前,我已经拥有了现有的最高主键,因此我可以增加一个变量来跟踪我希望executemany()为每个插入行提供的主键。这是一个合理的想法,还是假设太多


(我想另一种选择是将execute()逐个与sqlite3\u last\u insert\u rowid()一起使用,但这比对数千个条目使用executemany()要慢。)

Python的
sqlite3
模块以正确的顺序使用列表值执行语句


注意:如果代码已经知道要生成的ID值,那么您应该显式地插入该值,这样,如果这个期望值被证明是错误的,您就会得到一个错误。

好的,只有在复制现有主键时,它才会给我一个错误,而不是跳过一个自动递增的主键时。。。不过,好主意,谢谢。