【问题标题】:how to get last inserted row id in sqlite如何在sqlite中获取最后插入的行ID
【发布时间】:2012-06-01 01:28:10
【问题描述】:
function insertToProject(cast, pName)
{
    db.execute('INSERT INTO project (cd, pn) VALUES (?,?)', cast, pName);
        var x = last_insert_rowid();
        return x;
}

我一直在尝试在钛 appcelerator 中使用 javascript。谁能告诉我我做错了什么?

【问题讨论】:

  • 没有错误?更多信息会很有用
  • 谢谢,但我明白了.. 必须使用 - var x = db.lastInsertRowId;而不是 last_insert_rowid();
  • 我知道,我只是问有没有错误?运行代码时x 的值是多少?
  • 第 19 行; message = "找不到变量:last_insert_rowid";早些时候我收到了这个错误。现在我将 x 作为最后插入的 id。
  • 是的..它现在正在工作..谢谢!

标签: javascript sqlite titanium appcelerator rowid


【解决方案1】:

为此,您可以使用数据库对象lastInsertRowId属性。

你可以像这样使用:

var x = db.lastInsertRowId;

lastInsertRowId

lastInsertRowId:号码

最后填充行的标识符

请查看此链接了解更多详情:Titanium.Database.DB

【讨论】:

    【解决方案2】:

    你也可以这样做:

      db.transaction(function(tx) {
          tx.executeSql("INSERT INTO project (cd, pn) VALUES (?,?)", cast, 
                    function(tx, res) {
                        var id = res.insertId;
                    });
          });
    

    因此,获取成功插入的结果,然后是其属性insertId

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-12
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      • 2019-11-21
      • 2011-08-17
      • 1970-01-01
      相关资源
      最近更新 更多