0

我阅读了一些关于与此类似的主题的主题,但是我找不到任何关于它的重要信息。我正在尝试向现有数据库表添加一列,并在内容提供程序类上从中读取,但它不会通过,在 DBHelper 类上我执行 ALTER TABLE 如下

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    if (oldVersion<2) {
        db.execSQL("ALTER TABLE SongInfo ADD COLUMN playcount INTEGER DEFAULT 0");
    }       
}

我的版本号是 1,当我运行它时,它得到列 playcount 不存在,我试图通过在 contentProvider 类上调用它来获取该列,还有别的吗?我需要更新代码的另一部分,还是假设接受 ALTER TABLE 并从程序开始时使该列可读,非常感谢。

4

1 回答 1

0

尝试

db.beginTransaction();
db.execSQL("...");
db.setTransactionSuccessful();
于 2013-06-06T17:56:09.107 回答