Android--数据库升级,插入新字段

插入新字段sql语句:ALTER TABLE  表名   ADD  字段名  类型   default '默认值'

例:向info表中插入字段test,类型为text,默认值为0

ALTER TABLE info ADD TEXT default '0'


public class DBHelper extends SQLiteOpenHelper implements IDBHelper {

	private static final int VSERSION = 1;// 版本号
	private static final String DB_NAME = "info.db";// 数据库名
	public static final String INFO_TABLE = "info";// 表名

	public DBHelper(Context context) {
		super(context, DB_NAME, null, VSERSION);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		if (newVersion == 3) {
			updateTableToVersion3(db);
		}
		Log.e("", "oldVersion =" + oldVersion + " ,newVersion = " + newVersion);
	}
}

第一次发布apk包时的数据库版本号为1,第二次发布的apk包的数据库版本号为3

启动程序时会进行版本号的比较,若新的版本号比原先的版本号高,则会自动调用

onUpgrade(SQLietDatabase db, int oldVersion, int newVersion)

updateTableToVersion3()是自己定义的函数,在此函数里进行需要的操作

如向表中插入新的字段

你可能感兴趣的:(android,version,sqlitedatabase,onUpgrade,数据库升级)