如何从JayData事务中获取最后一个插入ID?

时间:2013-02-06 21:32:34

标签: javascript sqlite lastinsertid jaydata

使用JayData将新对象(记录)插入Sqlite数据库,如何查询最后一个插入ID?我可以这样做,但似乎不优雅:

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

1 个答案:

答案 0 :(得分:2)

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

要为您的班级定义自动递增的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,则只有在应用程序的单个用户手动插入记录的情况下,您的查询才有效。 如果您从在线数据存储中同步数据,我们必须一起制定解决方案。

有效吗?