如何解决WebSQL中缺少insertId的问题

时间:2014-07-16 11:33:47

标签: javascript windows cordova windows-8 web-sql

我想获取刚刚插入的记录的ID到WebSQL数据库中。 WebSQL具有此任务的InsertID属性。

然而,Cordova WebSQL插件不支持此属性。

如何在不使用insertId的情况下有效获取新插入记录的ID?

1 个答案:

答案 0 :(得分:0)

我建议 SQLITE db的解决方法,并假设 WebSQL 的实现类似于SQLLite db。 我觉得你至少要做两遍(两个SQL)语句来获取最后一个插入ID。最简单的选择是尝试获取已插入表中的最大id,例如,如果id是设置为autoincrement的列,则使用下面的sql。

select max(id) from table

然后使用上面的 max(id)+1 作为插入表格的insertId。
第二种选择:
在SQLite中,当您使用自动增量列创建表时,会在 sqlite_sequence 表中创建一个条目。它包含已应用于列的最后一个id的值。您需要选择表格的ID,如下所示 您需要找出类似的表 WebSQL。

select seq from sqlite_sequence where table = <table_name>

将上面的查询中的 seq 增加到1,以获得所需表格的自动增量将用作最后一个 insertId 的序列。