2013-06-05 22 views
5

1 tablo ve 3 sütun içeren basit WebSQL veritabanına sahibim. Bir tane daha sütun eklemek istiyorum, ancak veritabanı zaten mevcutsa bunu yapamam. Sadece önbelleği temizledikten sonra mümkün, ancak sonra tüm verileri kaybediyorum.WebSQL ile Çalışmak. Mevcut tabloya yeni sütun nasıl eklenir?

Veritabanını kaldırmadan yeni bir tabloya nasıl ekleyebilirim?

// 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"); 
     }); 
} 

Diğer tüm GÜNCELLEME fonksiyonları iyi çalışıyoruz.

+0

i aynı şey –

+0

üzerinde çalışıyorum bu bir çözüm bulduk Evet, bu doğru bir istek ||| ALTER TABLE mytable ADD süresi VARCHAR NOT NULL DEFAULT '' ||| (sadece BEFORE, AFTER kullanmayın, çünkü sqlite tabanlı tabanlar bu sözdizimini desteklemez) Bir sonuçtan haberim olsun! –

cevap

6

doğru Talebi geçerli:

ALTER TABLE mytable ADD time VARCHAR NOT NULL DEFAULT '' 

(WebSQL bu sözdizimini destekleyen does't çünkü ÖNCE olmadan SONRA)

İlgili konular