Как изменить порядок строк первичного ключа с помощью Java / Android и SQLite DB? - PullRequest
1 голос
/ 20 августа 2011

У меня есть первое действие, где я создаю базу данных и вставляю некоторые данные. Во втором упражнении я удаляю данные из своей БД, и я хотел бы знать, как изменить порядок номеров идентификаторов строк в последовательном порядке.

Например, моя БД после удаления некоторых строк выглядит так: -------- 1 ------------- ------------- Вопрос1 Ответ1 --------- 0 -------- 3 ------------- ------------- Вопрос2 Ответ2 --------- 3 -------- 5 ------------- ------------- Question3 Ответ3 --------- 5

После выхода из своей деятельности я хочу выглядеть так: -------- 1 ------------- ------------- Вопрос1 Ответ1 --------- 0 -------- 2 ------------- ------------- Вопрос2 Ответ2 --------- 3 -------- 3 ------------- ------------- Вопрос3 Ответ3 --------- 5

Пробовал функцию onDestroy (), используя эту

@ Override

защищенная пустота на Дестрой () {

  super.onDestroy();

  if (mDbHelper != null) {
      for(int i=0; i<mDbHelper.countRows(); i++){
          try{
              mDbHelper.updateDate(Integer.toString(i++), ggQuestions[i], ggAnswers[i], pozz++);
          }catch(Exception ex){}
      }

      mDbHelper.close();
  }

}

где mDbHelper - моя база данных, мой первичный ключ - строка (поэтому я использую целое число в строку), а моя функция updateDate sql выглядит следующим образом:

  mDb.execSQL("UPDATE flagtable SET _id="+_superID+", answer='"+answ+"', position="+
              Integer.toString(pozz)+" WHERE question='"+quest+"'");

Я получаю эту ошибку: первичный ключ сбоя 19 должен быть уникальным при выполнении UPDATE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...