2013-02-01 20 views
0

我的SQLite数据库中有一个表。SQLite无法将只读数据库从版本2升级到3

@Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL("CREATE TABLE book1(_id INTEGER PRIMARY KEY AUTOINCREMENT,title TEXT, author TEXT,isbn TEXT);"); 

我在表中添加新列并更改数据库的版本号。

@Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     db.execSQL("ALTER TABLE book1 ADD COLUMN Cost TEXT"); 
     Log.v("Alter Table", "Colunm Added enjoy"+db.getVersion()); 
     db.execSQL("INSERT into book1 (title,author,isbn,Cost,city) VALUES('php','Lioneworge',1111,1500)"); 

它在我的表中添加新列。

但是如果我想在我的表中再次添加新列。版本2至3

@Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     db.execSQL("ALTER TABLE book1 ADD COLUMN Cost TEXT,city TEXT"); 

     db.execSQL("INSERT into book1 (title,author,isbn,Cost,city) VALUES('php','Lioneworge',1111,1500,'Hydrabad')"); 

其显示的

Caused by: Can't upgrade read-only database from version 2 to 3 

我为什么不使用一滴查询我不想失去我的升级这就是数据。

更新: - 我读到这ALTER TABLE在SQLite是有限的,有一个人请告诉我多少时间,我可以改变你的添加和重新命名。

回答

相关问题