看了网上的许多关于数据库升级,字段属性的增加方面的资料,了解到:
其实数据库升级有俩个靠谱的方法,(1)
db.execSQL("ALTER TABLE test ADD COLUMN age");
(2)
db.beginTransaction();
db.execSQL("ALTER TABLE test RENAME TO _Test");
db.execSQL("CREATE TABLE test(id integer primary key autoincrement , PassWord VARCHAR(20) NOT NULL,"
+ " UserName VARCHAR(32) NOT NULL , Age VARCHAR(16) NOT NULL)");
db.execSQL("INSERT INTO test SELECT id, " + str + str
+ ", name, age FROM _Test");
db.setTransactionSuccessful();
db.endTransaction();
因为android中自带的数据库是通过一个SqliteOpenHelper 类来进行使用的,在第一次调用的时候执行onCreate(),在其中进行数据库表的创建
当数据库当前版本小于新数据库版本的时候会调用public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
在这里边可以进行数据库的升级。
方法一就是通过给表增加一个新的字段;
方法二就是通过修改当前数据库表的名称,作为临时表,在创建一张数据库表来插入临时表中的数据,这样就实现了数据的升级。
下载Demo:
点击打开链接
原文地址:http://blog.csdn.net/u012808234/article/details/42708449