我想获取刚刚插入的记录的ID到WebSQL数据库中。 WebSQL具有此任务的InsertID属性。
然而,Cordova WebSQL插件不支持此属性。
如何在不使用insertId的情况下有效获取新插入记录的ID?
答案 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 的序列。