Android SQLite onUpgrade(),创建新表

时间:2014-09-27 15:20:15

标签: android sqlite upgrade helper

在Helper类的onUpgrade()方法中,我添加了一个新表。 不幸的是,logcat告诉我语法错误“ADD COLUMN”。

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

    if (newVersion > oldVersion) {  
          db.execSQL("CREATE TABLE denze  ADD COLUMN field1 TEXT," +
                "ADD COLUMN field2 TEXT," +
                "ADD COLUMN field3 TEXT," +
                "ADD COLUMN field4 TEXT");  

     }  
    }

1 个答案:

答案 0 :(得分:0)

这不是合法的SQL。您需要“ALTER TABLE”查询。

您没有提供有关旧表的外观的详细信息,但如果您只是将“CREATE”替换为“ALTER”,它可能会起作用。

...而且,顺便说一句,您无需检查newVersion是否比oldVersion更新。它永远都是。如果onDowngrade较小,则会调用newVersion方法。