SQLiteException:表已经存在
2022-09-03 16:35:01
我向我的数据库添加了名为“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);
我的第二张桌子工作正常。
我试图卸载我的应用程序并安装它,它将无法正常工作,也许DB中的表有限制?
这是我的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);
}