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

Javascript 如何解决WebSQL中缺少insertId的问题,javascript,windows,cordova,windows-8,web-sql,Javascript,Windows,Cordova,Windows 8,Web Sql,我想在WebSQL数据库中获取刚刚插入的记录的ID。WebSQL具有此任务的InsertID属性 但是,Cordova WebSQL插件不支持此属性 Cordova WebSQL插件将WebSQL添加到Windows8 Cordova应用程序中 但是,该插件不支持insertId属性-请参阅quirks部分 如何在不使用insertId的情况下有效地获取新插入记录的ID?我建议为SQLITE数据库提供一种解决方案,并假设WebSQL的实现类似于SQLLite数据库。 我觉得您至少需要通过两个SQ

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

但是,Cordova WebSQL插件不支持此属性

Cordova WebSQL插件将WebSQL添加到Windows8 Cordova应用程序中 但是,该插件不支持insertId属性-请参阅quirks部分
如何在不使用insertId的情况下有效地获取新插入记录的ID?

我建议为SQLITE数据库提供一种解决方案,并假设WebSQL的实现类似于SQLLite数据库。 我觉得您至少需要通过两个SQL语句来获取最后一个insert ID。最简单的方法是尝试获取表中插入的最大ID,例如,如果ID是设置为autoincrement的列,则使用下面的SQL

select max(id) from table
然后使用上面的maxid+1作为插入到表中的insertId。 第二种选择: 在SQLite中,当您创建具有自动增量列的表时,将在SQLite_序列表中创建一个条目。它保存应用于列的最后一个id的值。您需要为表选择id,如下所示。 您需要找出什么是类似的表WebSQL


将上述查询中的seq递增为1,以获取所需表的自动递增将使用的序列作为最后一个insertId。

如何为该行创建insertId?是自动递增吗?或者生成序列?当前自动增量-数据库创建id。当前我不保存最后添加的id。我可以在最坏的情况下创建序列,但我不知道如何确保它是唯一的
select seq from sqlite_sequence where table = <table_name>