如何获取在web sql上插入时生成的id

时间:2013-11-24 18:10:40

标签: html5 web-sql

我对这个面向对象的java脚本编程很新。

html5rocks.webdb.insertuser = function(username){
    var db = html5rocks.webdb.db;
    var id;
    db.transaction(function(tx){
        var addedOn = new Date();
        tx.executeSql("INSERT INTO user(name) VALUES (?)",
            [username],
            html5rocks.webdb.onSuccess,
            html5rocks.webdb.onError);
    });
}

这是我通过http://www.html5rocks.com/en/tutorials/webdatabase/todo/

上的精彩教程获得的代码

现在我理解的是这个“onSuccess”被称为回叫。因此,如果我想将值作为整个函数的返回参数,我需要使用某种阻塞。我想知道一种获取插入ID返回值的方法

1 个答案:

答案 0 :(得分:1)

大多数db表都有一个自动生成的id列来标识每一行。执行插入以获取此值后,这很好,因此您可以将其分配给内存中的对象。结果证明这很简单:

db = openDatabase(db_name, ‘1.0’, options.description, size);

db.transaction(function(tx) {
  tx.executeSql(“insert into posts (title) VALUES (‘Hear the news’)”, [], function(tx, sql_res) {
    var lastInsertId = sql_res.insertId;
  });
});

来源: http://scottpersinger.com/post/9638490944/html5-web-database-get-the-last-insert-id