如何在现有表中添加列?我使用了以下代码。
SQLiteDatabase db = this.getWritableDatabase();
db.rawQuery("ALTER TABLE " + MNEMONICTABLE +" ADD COLUMN " + F_STATUS +" int DEFAULT 0", null);
此代码运行时没有错误。但是新专栏没有添加到表格中。
答案 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)
您还应提交更改