Набор запускает значение для АВТОИНКРЕМЕНТА в SQLite

Ошибка:

AAPT: ошибка: ресурс android: attr / fontVariationSettings не найден.
AAPT: ошибка: ресурс Android: attr / ttcIndex не найден

blockquote>

Измените compileSdkVersion на:

compileSdkVersion 28

fontVariationSettings и [115 ] ttcIndex были добавлены в API уровень 28 .

51
задан Christian Davén 28 March 2009 в 04:44
поделиться

3 ответа

Явно вставьте value-1 в таблицу затем удалите строку.

Править: следующий комментарий вниз, который обсуждает редактирование SQLITE_SEQUENCE таблица непосредственно, вероятно, предпочтительна: https://stackoverflow.com/a/692871/10093

24
ответ дан dave mankoff 7 November 2019 в 09:50
поделиться

С веб-сайта SQLite:

SQLite отслеживает самый большой ROWID, что таблица когда-либо содержала использование специального предложения SQLITE_SEQUENCE таблица. SQLITE_SEQUENCE таблица составлена и инициализирована автоматически каждый раз, когда нормальная таблица, которая содержит СТОЛБЕЦ АВТОПРИРАЩЕНИЯ, составлена. Содержание SQLITE_SEQUENCE таблица может быть изменена с помощью обычного ОБНОВЛЕНИЯ, ВСТАВИТЬ, и Операторы удаления. Но создание модификаций к этой таблице, вероятно, встревожит АВТОИНКРЕМЕНТНЫЙ алгоритм генерации ключей. Удостоверьтесь, что Вы знаете то, что Вы делаете перед обязательством таких изменений.

Я попробовал это, и это работает:

UPDATE SQLITE_SEQUENCE SET seq = <n> WHERE name = '<table>'

Где n+1 является следующим ROWID, Вы хотите, и таблица является именем таблицы.

89
ответ дан CL. 7 November 2019 в 09:50
поделиться

Один способ сделать это состоит в том, чтобы вставить первую строку, указывающую явно идентификатор строки, с которого Вы хотите запуститься. SQLite затем вставит идентификаторы строки, которые выше, чем предыдущее самое высокое.

6
ответ дан jle 7 November 2019 в 09:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: