我现在有一个表,它是与我的应用程序运行,Android和SQLite的更新
,但我想添加一些更多的列工作SQLite数据库,我看这件事,它看起来像它需要一个ALTER - 表,执行onUpgrade,
这是否意味着我必须在 以刚才添加的两列,我需要完全升级SQLite数据库?
这是调整表格的唯一方法吗?
- 如果我有拼写错误或任何错误,我必须升级?
我是相当新的SQLite和一般的数据库管理系统,所以原谅我的无知
我现在有一个表,它是与我的应用程序运行,Android和SQLite的更新
,但我想添加一些更多的列工作SQLite数据库,我看这件事,它看起来像它需要一个ALTER - 表,执行onUpgrade,
这是否意味着我必须在 以刚才添加的两列,我需要完全升级SQLite数据库?
这是调整表格的唯一方法吗?
我是相当新的SQLite和一般的数据库管理系统,所以原谅我的无知
如果您的应用已经发布和客户都在使用它,那么你将要使用的方法onUpgrade
,以保持他们的数据并通过运行ALTER TABLE
命令等将其本地数据库升级到新的模式。
如果客户还没有您的应用程序,那么您可以从模拟器或测试设备中删除它。然后,只需修改onCreate
方法即可从头开始创建正确的列。当你启动你的应用程序时,它应该创建你想要的模式的数据库。
我不认为有人已经安装了它>> 我会检查,谢谢。 – Spider
您的SQLiteOpenHelper类具有用参数DBname和DBversion创建应用程序数据库的公共过程。
如果DBUpdate调用了onUpgrade调用的方法(不是当前设备上的数据库版本)方法。在onUpgrade方法中,您必须调用用于更改表结构的命令。
public class dbSQLadapter extends SQLiteOpenHelper {
private static final String DB_NAME = "peredovik";
private static final int DB_VERSION = 23;
public dbSQLadapter(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
在这里的一些terminology:“升级”你的数据库通常意味着安装SQLite的新版本,这不是你想要或在这种情况下需要做的。只要硬着头皮来做'ALTER TABLE',它并不是那么糟糕。 –