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是有限的,有一個人請告訴我多少時間,我可以改變你的添加和重新命名。
感謝ans.Himanshu答案人士Himanshu。 – Unknown
@CobraHissssHissss .....是否有效? – Himanshu