【问题标题】:Android SQLite onUpgrade(), create new tableAndroid SQLite onUpgrade(),创建新表
【发布时间】:2014-09-27 15:20:14
【问题描述】:

在 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");  

     }  
    }

【问题讨论】:

    标签: android sqlite upgrade helper


    【解决方案1】:

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

    您没有提供太多关于旧表是什么样子的信息,但如果您只是将“CREATE”替换为“ALTER”,它可能会起作用。

    ...顺便说一句,您不需要检查newVersion 是否比oldVersion 更新。它总是会的。如果newVersion 更小,则会调用onDowngrade 方法。

    【讨论】:

      猜你喜欢
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多