-1
我有的情况:Android SQLite数据库更新表时更新应用程序
在较新版本的应用程序中,我将添加另一列到SQLite表。我需要在应用程序更新时使此更改生效,并且不会从数据库中丢失数据(通过重新创建新结构)。
可能在onUpgrade中启动我的SQL更新脚本?如何正确地做到这一点?
我有的情况:Android SQLite数据库更新表时更新应用程序
在较新版本的应用程序中,我将添加另一列到SQLite表。我需要在应用程序更新时使此更改生效,并且不会从数据库中丢失数据(通过重新创建新结构)。
可能在onUpgrade中启动我的SQL更新脚本?如何正确地做到这一点?
您必须升级您的数据库版本onCreate()
,然后使用onUpgrade()
。就像这样:
public YouSQLiteHandler(Context context) {
super(context, Constants.DATABASE_NAME, null, Constants.DATABASE_VERSION); --> 1 to 2 for example
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
addNewColumnTable();
}
当你改变你的数据库版本,Android的自动调用onUpgrade()
和你的数据库将与你把onUpgrade()
当用户更新应用这里
更多信息的所有变化进行更新:
http://www.michenux.net/android-database-sqlite-creation-upgrade-245.html
只需使用'Alter Table' sql命令并添加新列。这对您的数据没有影响。在onUpgrade(.....)' –
我知道sql脚本,但我可以安全地在onUpgrade中执行它吗?这是什么标准解决方案? – Majkl
你期望什么?这是唯一的标准方式。 –