Я работаю в базе данных Android SQLite. Я обновляю его с версии 1 до версии 2. Метод onUpgrade
вызывается как ожидалось.SQLite Добавление столбца со значением по умолчанию
Мой код:
sqLiteDatabase.execSQL("ALTER TABLE " + Contracts.DateActivities.TABLE_NAME + " ADD COLUMN " + Contracts.DateActivities.C_GROUP + " INTEGER DEFAULT 0;");
я получаю ту же ошибку:
Caused by: android.database.sqlite.SQLiteException: near "group": syntax error (code 1): , while compiling: ALTER TABLE DateActivities ADD group INTEGER DEFAULT 0
Что я делаю неправильно?
Другие варианты я пробовал:
sqLiteDatabase.execSQL("ALTER TABLE " + Contracts.DateActivities.TABLE_NAME + " ADD COLUMN " + Contracts.DateActivities.C_GROUP + " INTEGER DEFAULT 0;");
sqLiteDatabase.execSQL("ALTER TABLE " + Contracts.DateActivities.TABLE_NAME + " ADD COLUMN " + Contracts.DateActivities.C_GROUP + " int DEFAULT 0;");
sqLiteDatabase.execSQL("ALTER TABLE " + Contracts.DateActivities.TABLE_NAME + " ADD " + Contracts.DateActivities.C_GROUP + " INTEGER DEFAULT 0;");
Я подозреваю, что ** Contracts.DateActivities.C_GROUP ** является «GROUP» (или «group» или «Group "или ... обложка не имеет значения), который является зарезервированным ключевым словом для SQLite ... и не может использоваться для имени столбца –
Oooh wow. Я этого не понимал. Я попробую вариант – Sababado
Это сделало. Если вы напишете ответ с тем, что вы сказали в комментарии, я буду отмечать его как ответ. – Sababado