【问题标题】:adding datatable to a SQLite database将数据表添加到 SQLite 数据库
【发布时间】:2013-05-26 23:55:58
【问题描述】:

是否可以像在 mysql-database 上一样在 androids SQLite 中实现数据库之后向数据库添加数据表?!如果我没看错的话,那就没有办法了,因为android的数据库版本概念,你必须在创建数据库的同时实现数据表。你知道有什么解决办法吗!?

【问题讨论】:

    标签: database sqlite datatable version add


    【解决方案1】:

    当然可以,只要适当使用CREATE TABLE语句即可。

    在 Android 中,您需要将其添加到 onUpgrade 方法中,如下所示:

    public void onUpgrade(SQLiteDatabase db,
        int oldVersion, int newVersion)
    {
        if (oldVersion < 1) {
            db.execSQL(
                 "CREATE TABLE IF NOT EXISTS newtable ("
                 + "id INTEGER PRIMARY KEY, "
                 + "name VARCHAR(20)"
                 + ")"
            );
        }
    }
    

    【讨论】:

    • 但是,只有当我将更新的版本传递给 dbhelper 时,才会调用“onUpgrade”方法!不是吗?!
    • 你也可以在onCreate()创建你的表,然后从onUpgrade()调用onCreate()。但是总是使用IF NOT EXISTS 子句
    • 这不会改变这种情况,因为只有当你有更新的版本时才会调用它们。我想在运行时动态添加和删除数据表,但不删除其他数据表。否则,唯一的方法是为每个数据表创建一个数据库。
    • 好吧,没有什么能阻止您在代码中的任何位置调用 CREATE TABLEDROP TABLE
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多