【问题标题】:Upgrading existing preloaded sqlite database升级现有的预加载 sqlite 数据库
【发布时间】:2014-11-22 07:18:58
【问题描述】:

我想升级我现有的数据库。我已经导入了一个使用 Sqlite 管理器创建的预加载数据库(存储在 assets 文件夹中)。 所以以前它有 4 个表(例如表 ABCD),我想做以下操作

  • 我想在表 A 中添加列
  • 我想添加一个新表E
  • 我想在表B中添加一些额外的数据

注意:我已经使用 Sqlite 管理器创建了一个数据库,并在表 B 中添加了额外的数据。

我的问题是如何为现有用户升级数据库?

我的代码用于添加列如下:

@Override
public void onUpgrade(SQLiteDatabase database, int version_old,
            int current_version) {

    if(version_old == 1){
        mySqliteDb.execSQL("ALTER TABLE A ADD columnName TEXT ");
    }
}

所以基本上我陷入了第二和第三个问题。

我在这里找到的相同类型的问题很少,但我需要的是一个例子。 谢谢。

【问题讨论】:

  • 对于表 E,您只需要创建一个“创建表”语句。您想在 B 中添加什么样的日期?
  • @MD1948 在表 B 中已经有一些数据(它包含三列),我想向其中添加更多数据
  • 更多列还是填充现有列?
  • 填充现有的

标签: android sqlite android-sqlite sqliteopenhelper


【解决方案1】:

对于表 E,您只需要创建一个表语句,对于表 B,您需要一个不带 where 部分的插入语句来填充现有列。

【讨论】:

  • 不能直接映射使用sqlite manager创建的表吗?因为有上千行数据。
  • 不,管理器本身并不知道您已经创建了哪些表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-25
  • 2013-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多