Intereting Posts
Пользовательские поля для типа сборки в градиенте 'TypeError: Путь должен быть строкой. Получено undefined 'после запуска npm запуска start.android в угловой среде Серый круг рядом с большим значком уведомления? Вызывается ли OnItemSelectedListener.onNothingSelected? Индикатор пользовательской вкладки (со стрелкой вниз, как индикатор) Создание простого экземпляра ExoPlayer Android: отображение содержимого списка скрытых скинов Фоновые службы останавливаются, когда приложение закрывается с помощью кнопки BACK Получение черного ImageView с использованием Picasso и Glide Как избежать CollapsingToolbarLayout, не будучи разбитым или «неустойчивым» при прокрутке? Что такое cordova.xml для Phonegap? Как получить токен авторизации авторизации? Установить аудио атрибуты в классе SoundPool.Builder для API 21 Как Admob определяет текстовый контекст для показа целевых рекламных объявлений? Сделайте Android-устройство Samsung рекламой iBeacon

Android-аудит Androidite

В настоящее время у меня есть таблица с именем User, которая имеет столбец id, который создается как

'INTEGER PRIMARY KEY'

Допустим, я создал двух пользователей, поэтому таблица имеет идентификаторы 1 и 2

Если я удалю второго пользователя и создаю третий, то id будет 2, мне нужно, чтобы это было 3

Таким образом, похоже, что Android выбирает следующий доступный идентификатор, как я могу изменить его на более похожий на порядковый номер?

С уважением

Solutions Collecting From Web of "Android-аудит Androidite"

Сделать INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL . Вот что говорят документы :

Если столбец имеет тип INTEGER PRIMARY KEY AUTOINCREMENT, тогда … ROWID, выбранный для новой строки, по крайней мере один больше, чем самый большой ROWID, который когда-либо существовал в той же таблице.

Поведение, выполняемое ключевым словом AUTOINCREMENT, существенно отличается от поведения по умолчанию. При использовании AUTOINCREMENT в строках с автоматически выбранными ROWID гарантируется наличие ROWID, которые ранее никогда не использовались одной таблицей в той же базе данных. И автоматически генерируемые ROWID гарантированно будут монотонно увеличиваться.

SQLite AUTOINCREMENT – это ключевое слово, используемое для автоматического увеличения значения поля в таблице. Мы можем автоматически увеличивать значение поля, используя ключевое слово AUTOINCREMENT при создании таблицы с определенным именем столбца, чтобы автоматически увеличивать ее.

Ключевое слово AUTOINCREMENT может использоваться только с полем INTEGER. Синтаксис:

Основное использование ключевого слова AUTOINCREMENT выглядит следующим образом:

 CREATE TABLE table_name( column1 INTEGER AUTOINCREMENT, column2 datatype, column3 datatype, ..... columnN datatype, ); 

Пример см. Ниже: Рассмотрим таблицу COMPANY которая будет создана следующим образом:

 sqlite> CREATE TABLE TB_COMPANY_INFO( ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL ); 

Теперь вставьте следующие записи в таблицу TB_COMPANY_INFO :

 INSERT INTO TB_COMPANY_INFO (NAME,AGE,ADDRESS,SALARY) VALUES ( 'MANOJ KUMAR', 40, 'Meerut,UP,INDIA', 200000.00 ); 

Теперь выберите запись

 SELECT *FROM TB_COMPANY_INFO ID NAME AGE ADDRESS SALARY 1 Manoj Kumar 40 Meerut,UP,INDIA 200000.00