使用 JavaScript 在 SQLite 插入或更新中检索多个 rowid

Retrieve multiple rowids in SQLite insert or update, using JavaScript

我知道 SQLite 有 last_insert_rowid() 函数。我想创建一个类似的函数,但我想检索一组索引,每个索引都来自对我的数据库的插入或更新。 更清楚地说,我有一个这样的填充 table(名称是唯一的):

rowid  name   age

1     'John'  18

2     'Anne'  25

3     'Jack'  32

然后我必须插入或更新几行: ('John',19), ('Michael',33), ('Jenny',12)

结果将是:

rowid  name     age

1     'John'    19

2     'Anne'    25

3     'Jack'    32

4     'Michael' 33

5     'Jenny'   12

而 rowids inserted/updated 是:1,4,5

如何检索这些索引? JS回答会很好,无论如何即使是其他语言我想我也应该理解。

我用两个触发器解决了。逻辑流程是:

  1. 创建临时 table、temp_table、主 table 的克隆;
  2. 创建一个插入触发器,tr_insert。此触发器验证主 table 中的插入并也在 temp_table;
  3. 中复制新行
  4. 创建一个更新触发器,tr_update,其行为类似于第 2 点中的触发器,但用于更新;
  5. 在所有插入/更新之后,调用一个函数来分析 temp_table 其中插入/更新的行。
  6. 记得在 temp_table 使用后调用 delete