node.js - sqlite3中的主键是如何自动分配的?
问题描述
我正在使用 sqlite3 db 编写节点应用程序。有谁知道,如果我插入多条记录,主 ID 是否按照给出语句的顺序自动分配?
也就是说,对于有列的表
`id` INTEGER PRIMARY KEY,
`field1` INTEGER,
`field2` INTEGER
我提交如下声明:
INSERT INTO table (field1, field2) VALUES (1, 2), (2, 3), (3, 4), (4, 5), (5, 6);
如果在回调中this.lastID是 20。我可以假设行是 (16, 1, 2), ... (20, 5, 6) 吗?
我对此进行了实验,发现ID似乎总是这样分配的,但它可靠吗?
如果我也知道this.lastID在插入之前是 15,所以我知道 ID 是 [15, ..., 20] 怎么办?
对于额外的信用,如果我单独提交插入并异步运行查询,同样的问题:我可以依赖按语句传递顺序分配的 ID 吗?
解决方案
推荐阅读
- javascript - 使用 preventDefault 方法删除 click 事件后如何继续?
- forms - 没有提交按钮的表单的可能性
- java - java - 如何使用Java中参数中的索引使用递归创建删除方法?
- tsql - 如何从给定日期(不包括周末)将日期范围创建为从日期到截止日期
- html - 我怎么能对齐这三个底部的 div 上升?
- python - 如何使用python从spark中获取已处理和未处理数据的数量
- python-3.x - 如何在 Python3 中使用 gspread 在相应 URL 旁边的左侧单元格中打印 xpath 的值?
- javascript - 当标签处于活动状态时
- c++ - 如何使用 WriteConsoleOutputCharacter() 从文本中清除区域?
- android - 以编程方式在 android 中启动 5ghz wifi 热点