javascript - 如何从 JayData 事务中获取最后插入的 ID?

标签 javascript sqlite lastinsertid jaydata

使用 JayData 向 Sqlite 数据库中插入一个新对象(记录),如何查询最后插入的 ID?我可以这样做,但它看起来不够优雅:

DB.Members.orderByDescending('member.Id').take(1).toArray(function(member){    
        alert(member.Name);    
});

最佳答案

如果您定义了带有自动递增 Id 的 Member 类,则无需编写额外的查询,因为 Id 属性会在 saveChanges() 之后自动填充。

要为您的类定义一个自动递增的 Id,请检查您是否编写了以下内容:

$data.Entity.extend("Member", {
    Id: { type: "int", key: true, computed: true },
    ...
});

var member = new Member();
member.Name = "a";
DB.Members.add(member);
DB.Members.saveChanges(function(){alert(member.Id);});

如果Id是手动设置的,那么你的查询只有在应用的单个用户手动插入记录的场景下才有效。 如果您从在线数据存储同步数据,我们必须共同制定解决方案。

有用吗?

关于javascript - 如何从 JayData 事务中获取最后插入的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14739212/

相关文章:

javascript for 循环提前退出

javascript - 异步 Mocha 测试如何在不返回 promise 或调用完成回调的情况下解决

javascript - 此 react 库代码周围的 "{" "}"大括号有何意义?

python - 我如何在 python 中转储单个 sqlite3 表?

javascript - 如何保护 SQLite 数据库免受损坏

MySQL LAST_INSERT_ID() 与 INSERT INTO 表 SELECT FROM 表

javascript - 在 Angular js 中测试加载器

sql - 帮助优化 SQL 查询

MySQL LAST_INSERT_ID() 与多条记录 INSERT 语句一起使用

mysql - 如何返回 MySQL 中最后更新记录的 ID?