在升级期间,我想在我的数据库中添加一个新表,但在升级应用程序时也不会丢失其他表中的数据。有人能告诉我,(但如果你能告诉我一些例子的话)这是怎么做的。因为我浏览了论坛,但主要是讨论添加新列等。我想我必须以某种方式使用alter table,但我不明白一切。如果你能告诉我这个过程的步骤,我将非常感激。提前谢谢你。
答案 0 :(得分:4)
如果您只想添加新表而不修改任何现有表,则可以在onUpgrade方法中创建新表。这样就可以保持现有的表格不受影响。
编辑:更好的是,像往常一样在onCreate中添加表格,然后在onUpgrade中调用onCreate
答案 1 :(得分:1)
尝试在Android中使用SQLiteOpenHelper。它有onCreate和onUpgrade的方法。
样品:
public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {
Maas360Logger.i(loggerName, "upgrading database "+oldVersion+" "+newVersion);
try {
database.beginTransaction();
for (int i = oldVersion + 1; i <= newVersion; i++) {
// Future schema changes has to go into this loop
维护数据库版本以处理升级