我知道sqlite具有last_insert_rowid()
函数。我想创建一个类似的功能,但我想检索一系列索引,每个索引都来自插入或更新我的数据库。要清楚,我有一个这样的填充表(名称是唯一的):
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为:1,4,5
如何检索这些索引?JS答案会很好,无论如何,即使我想我应该理解的其他语言。
i使用两个触发器解决。逻辑流是:
- 创建一个温度表,temp_table,主表的克隆;
- 创建一个插入触发器,tr_insert。此触发器验证主表中的插入,并在temp_table中复制新行;
- 创建一个更新触发器,tr_update,其作用与第2点相似,但用于更新;
- 在所有插入/更新之后,调用一个函数,该函数分析temp_table插入/更新的temp_table。
- 请记住使用temp_table delete的使用