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

问题描述 投票:1回答:1

我知道SQLite有last_insert_rowid()功能。我想创建一个类似的函数,但我想检索一个索引数组,每个索引来自插入或更新到我的数据库。为了更清楚,我有一个像这样的填充表(名称是UNIQUE):

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

插入/更新的rowid是:1,4,5

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

javascript sqlite insert-update rowid
1个回答
0
投票

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

  1. 创建临时表,temp_table,克隆主表;
  2. 创建一个插入触发器tr_insert。此触发器验证主表中的插入并在temp_table中复制新行;
  3. 创建一个更新触发器tr_update,其作用类似于第2点中的触发器,但是对于更新;
  4. 在所有插入/更新之后,调用一个分析temp_table的函数,其中插入/更新了行。
  5. 记得在使用后调用temp_table中的delete
© www.soinside.com 2019 - 2024. All rights reserved.