更新websql数据库的现有最新条目

时间:2015-04-13 17:20:06

标签: javascript sql-update web-sql

我试图将一个值插入到websql数据库的现有行中,但是到目前为止我所尝试的所有内容似乎都没有运气。

表格创建:

function createDB(t) {
     t.executeSql('CREATE TABLE IF NOT EXISTS WALKS (id integer primary key autoincrement, Distance TEXT, Duration TEXT, PathCoordinates TEXT, Images TEXT, WalkTitle Text, Description Text)');
}

点击按钮时会出现以下声明,但是我怀疑声明不正确,因为我没有错误?

var walkTitle = document.getElementById("walkTitle").value;

db.transaction(function(t) {
     t.executeSql('Update WALKS SET WalkTitle=? WHERE id(SELECT MAX(id)', [walkTitle]);
});

1 个答案:

答案 0 :(得分:0)

好吧,很多事情都可能出错,所以首先你应该向executeSQL添加成功/错误回调,这样你就可以解决问题了:

t.executeSql('<sql>', [args], function (t, results) {
       console.log('ok');
   }, function(t, error) {
       console.log(error: ' + error.message);
   });

我的猜测是你的更新SQL错了,我认为应该更像:

Update WALKS SET WalkTitle=? WHERE id=(SELECT MAX(id) from WALKS)

另一件事是,如果表中已经没有至少一行,那么您的代码将不会执行任何操作。或者walkTitle可以为null / undefined。或者其他数千个原因,但错误回调(和error.message)应该指向正确的方向。