2014-02-10 117 views
0

Android开发人员必须为Android应用程序使用SQL lite,这很容易,但问题出现在我们必须升级数据库版本时,我们必须删除旧数据库并在升级时创建新数据库,所以如果我们想要添加一列,我们必须删除所有用户数据,是否有任何管理数据库升级的组件或源代码,因此如果它只需要一列,只需添加一列,而不是删除所有表。托管SQLLite升级

+1

为了更好的解释,你还应该问一下原因,'为什么我们必须删除整个数据库,改变单个表?' – DroidDev

+0

也许是因为他遵循[Android Developer官方指南](http://developer.android.com/training/basics/data-storage/databases.html) –

回答

2

这是完全错误的

当我们要升级的数据库版本,我们必须删除旧的数据库和升级

在你onUpgrade方法来创建新的数据库,它看起来会是像这样:

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
String upgradeQuery = "ALTER TABLE yourtable ADD COLUMN yourcolumn TEXT"; 
if (oldVersion == 1 && newVersion == 2) 
    db.execSQL(upgradeQuery); 
}