を取得するので、私はONUPGRADEの変更データベースには、私は、既存のテーブル内の1つの列を追加したいクラッシュ
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String addMeasureJsonQuery = "ALTER TABLE " + SqlCard.TOOTEET_TABLE + " ADD COLUMN " + Columns.Tooteet.MEASURE_JSON + " TEXT";
if (oldVersion == 1 && newVersion == 2){
db.execSQL(addMeasureJsonQuery);
}
で以下のクエリはまた2として、データベースのバージョンを更新しました。しかし私のアプリは、以下のエラー
でクラッシュします書きました致命的な例外:スレッド1516プロセス:mypackagenameの、PID:2117
android.database.sqlite.SQLiteException周辺 "作成":構文エラー (コード1)、compilinながらG:NOTは tooteets(IDテキスト、テキストTEXT、file_url_1 TEXT、file_url_2 TEXT、 thumb_url_1 TEXT、thumb_url_2 TEXT、カラーTEXT、local_parent_folder TEXT、unique_file_name TEXT、unique_thumbnail_name TEXT、キーワード TEXT、created_user_nameのTEXTを存在する場合のCREATE TABLE ALTER TABLEを、updated_user_nameテキスト、is_favorite 整数デフォルト0、is_tooti_author INTEGER DEFAULT 1、tweet_type INTEGER、評価整数DEFAULT 0、weather_type INTEGER DEFAULT 0、 緯度DOUBLE DEFAULT 0.0、経度DOUBLE DEFAULT 0.0、group_key TEXT、tweet_date INTEGER、group_sort_orderのINTEGER、 no_of_unread_tooteets INTEGER DEFAULT 0、no_of_comments INTEGER DEFAULT 0、no_of_unread_comments INTEGER DEFAULT 0、lane_ IDテキスト、 lane_nameテキスト、expense_jsonテキスト、is_synced整数デフォルト0、 is_update整数デフォルト0、is_deleted整数デフォルト0)ADD COLUMN measure_jsonのTEXT
android.database.sqlite.SQLiteConnection.nativePrepareStatement(ネイティブ 方法で) で
android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1113)
android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.jでAVA:690) android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588で
)android.database.sqlite.SQLiteProgramで
(SQLiteProgram.java:58)
でandroid.database.sqlite.SQLiteStatement。(SQLiteStatement.java:31)
android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1806)で
android.database.sqlite.SQLiteDatabase.execSQL MyPackageName.database.DBSQLite.onUpgradeで(SQLiteDatabase.java:1737)
(DBSQLite.java:80)で
android.database.sqlite.SQLiteOpenHelperで.getDatabaseLocked(SQLiteOpenHelper.java:257)MyPackageName.database.DBSQLite.getDatabaseで android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
(DBSQLiteで
。Javaの:56 MyPackageName.MyApplicationClass $ 1.runで)
java.lang.Thread.runで(MyApplicationClass.java:68)
(Thread.java:841)
でしたあなたはしてくださいこの問題を解決するアイディアを教えてください。事前のおかげで...
誤ったコマンドを実行していないと、アップグレード時にエラーが発生する理由がありません。これは新しい機能を追加します。 –
テーブルが存在しない場合は、テーブルを変更しますか? – Pooya