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

当Android应用的数据库版本更新时,系统会通过onUpgrade方法自动处理升级。例如,可以使用ALTER TABLE语句向info表添加一个名为test的新TEXT字段,设定默认值为'0'。在onUpgrade中调用自定义的updateTableToVersion3函数来执行这些变更。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

插入新字段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()是自己定义的函数,在此函数里进行需要的操作

如向表中插入新的字段

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值