SQLiteException: таблица уже существует

Я добавил в свою БД таблицу под названием «MEDIA_TABLE», и я получил следующий код ошибки:

05-15 20:56:22.976: E/AndroidRuntime(5968): android.database.sqlite.SQLiteException: table personal_stats already exists (code 1): , while compiling: CREATE TABLE personal_stats (_id INTEGER PRIMARY KEY AUTOINCREMENT, pictures TEXT, videos TEXT); 

Моя вторая таблица отлично работает.

Я попытался удалить мое приложение и установить его, и он не будет работать, возможно, существует предел таблиц в БД?

Вот мой код onCreate:

 @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_DATE + " TEXT, " + COLUMN_EXERCISE + " TEXT, " + COLUMN_WEIGHT + " TEXT, " + COLUMN_REPS + " TEXT, " + COLUMN_SET_TIME + " TEXT, " + COLUMN_WORKOUT_TIME + " TEXT, " + COLUMN_DISTANCE + " TEXT, " + COLUMN_SPEED + " TEXT, " + COLUMN_REST_TIME + " TEXT, " + COLUMN_NUMBER_OF_SETS + " TEXT, " + COLUMN_FIELDS_PARAMETER + " TEXT, " + COLUMN_NOT_ON_LIST_EXERCISE + " TEXT, " + COLUMN_HERAT_BEAT + " TEXT, " + COLUMN_CALORIES + " TEXT, " + COLUMN_COMMENT + " TEXT);"); db.execSQL("CREATE TABLE " + SECOND_TABLE_NAME + " (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_AGE + " TEXT, " + COLUMN_AGE_PW + " TEXT, " + COLUMN_GENDER + " TEXT, " + COLUMN_HEIGHT + " TEXT, " + COLUMN_HEIGHT_PW + " TEXT, " + COLUMN_BODY_WEIGHT + " TEXT, " + COLUMN_BODY_WEIGHT_PW + " TEXT, " + COLUMN_PROFILE_PIC + " TEXT, " + COLUMN_FAT + " TEXT, " + COLUMN_FAT_PW + " TEXT);"); db.execSQL("CREATE TABLE " + MEDIA_TABLE + " (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_PICS + " TEXT, " + COLUMN_VIDEO + " TEXT);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); db.execSQL("DROP TABLE IF EXISTS " + SECOND_TABLE_NAME); db.execSQL("DROP TABLE IF EXISTS " + MEDIA_TABLE); onCreate(db); } EDIT : @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("CREATE TABLE IF NOT EXISTS" + TABLE_NAME); db.execSQL("CREATE TABLE IF NOT EXISTS" + SECOND_TABLE_NAME); db.execSQL("CREATE TABLE IF NOT EXISTS" + MEDIA_TABLE); onCreate(db); } 

Solutions Collecting From Web of "SQLiteException: таблица уже существует"

Вы должны использовать CREATE TABLE IF NOT EXISTS а не CREATE TABLE . Тогда ваш код будет выглядеть так:

 @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE IF NOT EXISTS" + TABLE_NAME + " (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_DATE + " TEXT, " + COLUMN_EXERCISE + " TEXT, " + COLUMN_WEIGHT + " TEXT, " + COLUMN_REPS + " TEXT, " + COLUMN_SET_TIME + " TEXT, " + COLUMN_WORKOUT_TIME + " TEXT, " + COLUMN_DISTANCE + " TEXT, " + COLUMN_SPEED + " TEXT, " + COLUMN_REST_TIME + " TEXT, " + COLUMN_NUMBER_OF_SETS + " TEXT, " + COLUMN_FIELDS_PARAMETER + " TEXT, " + COLUMN_NOT_ON_LIST_EXERCISE + " TEXT, " + COLUMN_HERAT_BEAT + " TEXT, " + COLUMN_CALORIES + " TEXT, " + COLUMN_COMMENT + " TEXT);"); db.execSQL("CREATE TABLE IF NOT EXISTS" + SECOND_TABLE_NAME + " (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_AGE + " TEXT, " + COLUMN_AGE_PW + " TEXT, " + COLUMN_GENDER + " TEXT, " + COLUMN_HEIGHT + " TEXT, " + COLUMN_HEIGHT_PW + " TEXT, " + COLUMN_BODY_WEIGHT + " TEXT, " + COLUMN_BODY_WEIGHT_PW + " TEXT, " + COLUMN_PROFILE_PIC + " TEXT, " + COLUMN_FAT + " TEXT, " + COLUMN_FAT_PW + " TEXT);"); db.execSQL("CREATE TABLE IF NOT EXISTS" + MEDIA_TABLE + " (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_PICS + " TEXT, " + COLUMN_VIDEO + " TEXT);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); db.execSQL("DROP TABLE IF EXISTS " + SECOND_TABLE_NAME); db.execSQL("DROP TABLE IF EXISTS " + MEDIA_TABLE); onCreate(db); } 

Используйте этот способ

 db.execSQL("create table if not exists table_name(rank int, correct_answer int, optionselect int);"; 

Вы запускаете одну и ту же программу снова и снова, и та же таблица существует в базе данных. Вам нужно изменить запрос Create table. Попробуйте «создать таблицу, если не существует TABLE_NAME»