在sQlite上工作的更新查询不是onUpgrade方法

时间:2017-08-21 17:51:50

标签: android sqlite android-sqlite

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


        db.execSQL("ALTER TABLE "+TABLE_NAME+" ADD COLUMN usertype BOOLEAN NOT NULL default false");

}

此代码无法正常工作,建议我改进,如果有的话

1 个答案:

答案 0 :(得分:0)

public static final int DATABASE_VERSION_1 = 1;
public static final int DATABASE_VERSION_2 = 2;

在onUpgrade()方法

中使用此代码
if(DATABASE_VERSION_2 > DATABASE_VERSION_1)
{
 db.execSQL("ALTER TABLE "+TABLE_NAME+" ADD COLUMN usertype BOOLEAN NOT NULL 
 default false");

}

在构造函数中,您还需要进行如下更改: 您需要放置DATABASE_VERSION_2而不是DATABASE_VERSION_1,然后才会调用onUpgrade()方法。

public DBHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION_2);