Javascript 如何使用websql向现有表中添加新列
我有一个android应用程序(用cordova创建)已经上线并在使用中。设备数据库中存储了一些数据。我必须进行更新,该更新需要在数据库中的一个表中添加一列。我想添加新列,而无需清除应用程序存储,因此我创建了一个函数,该函数在执行依赖于该表的其他函数之前尝试添加一个新列。这是修改代码的代码Javascript 如何使用websql向现有表中添加新列,javascript,angularjs,sqlite,cordova,web-sql,Javascript,Angularjs,Sqlite,Cordova,Web Sql,我有一个android应用程序(用cordova创建)已经上线并在使用中。设备数据库中存储了一些数据。我必须进行更新,该更新需要在数据库中的一个表中添加一列。我想添加新列,而无需清除应用程序存储,因此我创建了一个函数,该函数在执行依赖于该表的其他函数之前尝试添加一个新列。这是修改代码的代码 var alterEntryTable = function() { qObj = $q.defer(); dbService.db.transaction(function(tx) {
var alterEntryTable = function()
{
qObj = $q.defer();
dbService.db.transaction(function(tx) {
tx.executeSql(
'ALTER TABLE entry ADD created_at TIMESTAMP ',
[],
function (tx, rss) {
qObj.resolve({error: false});
}, function (tx, rss) {
qObj.resolve({ error: true});
}
);
});
return qObj.promise;
};
问题是它总是返回一个错误。谁来帮忙。谢谢错误处理程序中的第二个参数是SQLError对象。您可以记录其message属性以获取有关错误的详细信息
function (tx, rss) {
console.log(rss.message);
qObj.resolve({ error: true});
}
错误消息有帮助吗?我认为您的SQL中缺少列
。它应该是ALTER TABLE entry ADD COLUMN created\u at TIMESTAMP
另外,
时间戳
不是一个,但是把它放在那里是无害的。请发布错误消息。它只给出了一个sqlError对象。我不知道如何访问对象内部的详细信息以便在控制台上显示。即使使用其他数据类型,我也会遇到同样的问题错误说明了什么?我已经添加了关于如何记录它的详细信息