>  기사  >  데이터 베이스  >  数据库升级

数据库升级

WBOY
WBOY원래의
2016-06-07 14:59:521086검색

升级 app 的版本时,我们有时候希望可以把原数据库中的资料也保留下来,那么这个时候我们就需要用到数据库的升级。 在 android 中 SQLiteOpenHelper 中定义了 onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 函数来进行一些对数据库的升级操

升级app的版本时,我们有时候希望可以把原数据库中的资料也保留下来,那么这个时候我们就需要用到数据库的升级。

androidSQLiteOpenHelper中定义了onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)函数来进行一些对数据库的升级操作处理。不需要做一些数据库的操作,在这个函数不需要写任何代码。

在编写数据库升级的时候,我们除了要把数据库的版本号+1以外,还需要在onUpgrade()中写升级数据库所发生的一些变化。比如,数据库升级会发生一些表结构的变化或者是数据的变化。我在这里先说一下,更新表的一些步骤:

1.       先把原表改名,可以任意名字,但是为了方便,我们加temp前缀或者后缀。

2.       然后创建新的表,我们实际要用到升级版本的表。

3.       把原表的数据按照新表的规定,插入到新表中。

4.       把原表删除。

这里会有个小问题,如果原表不需要发生变化要怎么办?那就不需要去动这个表了。参考源码见:https://github.com/arjinmc/UpgradeDatabaseDemo

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.