我有简单的WebSQL数据库,包含1个表和3列。我想再添加一列,但如果数据库已经存在,我就无法做到。 只有在我在缓存中清理它之后才有可能,但是我丢失了所有数据。
如何在不删除数据库的情况下向表中添加新列?
// database creating
MYDB.init.open = function(){
MYDB.init.db = openDatabase("MYDB","1.0"," super-data-base",1024*1024*5);
}
//table creating
MYDB.init.createTable = function(){
var database = MYDB.init.db;
database.transaction(function(tx){
tx.executeSql("CREATE TABLE IF NOT EXISTS mytable (ID INTEGER PRIMARY KEY ASC,item TEXT,description TEXT)", []);
});
}
//
//a lot of code for adding datas and reading datas
//
//database updating that does not work
MYDB.init.updateTable = function(){
var database = MYDB.init.db;
database.transaction(function(tx){
tx.executeSql("ALTER TABLE mytable ADD time VARCHAR NOT NULL BEFORE description");
});
}
所有其他UPDATE功能都运行良好。
答案 0 :(得分:6)
正确的请求是:
ALTER TABLE mytable ADD time VARCHAR NOT NULL DEFAULT ''
(没有BEFORE,AFTER,因为WebSQL不支持这种语法)