更改表查询不更新我的表

时间:2013-11-25 12:11:16

标签: java android

如何在现有表中添加列?我使用了以下代码。

SQLiteDatabase db = this.getWritableDatabase();
 db.rawQuery("ALTER TABLE " + MNEMONICTABLE +" ADD COLUMN " + F_STATUS +" int DEFAULT 0", null);

此代码运行时没有错误。但是新专栏没有添加到表格中。

3 个答案:

答案 0 :(得分:4)

您使用rawQuery代替execSQL。试试这个:

SQLiteDatabase db = this.getWritableDatabase();
 db.execSQL("ALTER TABLE " + MNEMONICTABLE +" ADD COLUMN " + F_STATUS +" int DEFAULT 0");

答案 1 :(得分:0)

您可以在ALTER TABLE方法上使用onUpgrade()功能,如下所示:

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    // If you need to add a column
    if (newVersion > oldVersion) {
        db.execSQL("ALTER TABLE " + MNEMONICTABLE +" ADD COLUMN " + F_STATUS +" int DEFAULT 0", null);
    }
}

显然,SQLite会因列定义而异。您还需要升级数据库版本。

答案 2 :(得分:-1)

您还应提交更改