После двух вышеуказанных операций он будет работать нормально для нового пользователя установки и обновления приложения

авляю таблицу в базу данных SQLite моего приложения. Весь мой синтаксис там в порядке, не проблема. Но у меня возникли проблемы с созданием новой таблицы. Я добавил новую таблицу ....

@Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(DATABASE_CREATE);
            db.execSQL(CREATE_REQUESTS);
            db.execSQL(CREATE_OVERRIDE);
        }

Мой метод создания. У меня есть 3 таблицы. Когда я обновил номер версии, я получил сообщение о том, что «запросы к таблице (имеется в виду CREATE_REQUESTS) уже созданы». Посмотрите на мой метод onUpgrade ...

@Override 
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("DROP TABLE IF EXISTS contacts");
            onCreate(db);
        }

Привел меня понять, что линияdb.execSQL("DROP TABLE IF EXISTS contacts"), который ссылается на мою таблицу DATABASE_CREATE в методе onCreate, используется для удаления старой таблицы, а затем следующей строки,onCreate(db); воссоздает это. Я не добавил запросы в эту строку execSQL, что и привело к ошибке. Вот проблема: я бы предпочел не потерять данные в двух таблицах, которые у меня уже есть. Есть ли способ добавить таблицу, как я пытаюсь сделать, и не потерять все старые данные? Благодарю.