SQLite データベースに 1 つのテーブルがあります。
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL( "CREATE TABLE book1(_id INTEGER PRIMARY KEY AUTOINCREMENT,title TEXT, author TEXT,isbn TEXT);");
テーブルに新しい列を追加して、DBのバージョン番号を変更しています。
@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 で制限されていることを読みました。追加と名前変更のために何回変更できるか教えてください。