如何在创建下一个插入的元素之前从中获取id



我需要从表中的未来元素插入中获取id。我有一个自动递增的id。

await db.execute('CREATE TABLE Product(Id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT)');

想象一下,这是我的值表:

Id   Name
1    something
2    something2

如果我删除所有项目并插入另一个元素,它会像这样:

Id   Name
3    something3

如果我再次删除该行,可能知道未来id的值吗?在创建新产品之前,我需要获得id的未来价值。

我不知道你想做什么,但以下是如何获得当前ID。

select * from sqlite_sequence;

它将返回所有列,这些列具有自动递增的ID。sqlite_sequence是一个保存列名称和当前id的表。因此,您必须筛选所需的列,并自行将id增加一。

如果您只有Product表,并且最后添加的对象id为3:

select * from sqlite_sequence where name="Product"

返回以下内容:

name     seq
Product  3

您可以使用sqlite_sequence:

select *
from sqlite_sequence;

这是一个数据库<>不停摆弄

最新更新