Android ROOM INSERT в предварительно заполненной базе данных - PullRequest
2 голосов
/ 16 апреля 2020

Итак, в моем приложении у меня есть предварительно заполненная база данных (я использовал SQLiteStudio, чтобы добавить данные и установить первичный ключ на автоинкремент для каждой таблицы). Я хочу добавить больше строк в одну таблицу базы данных (в которой уже есть некоторые данные).

Проблема в в том, что первичный ключ не увеличивается автоматически, и я думаю, что это происходит потому что в таблице уже есть некоторые данные. Кто-нибудь знает, как заставить autogenerate работать для предварительно заполненных баз данных? Или единственное решение - добавить идентификатор вручную, выбрав max(ID) из таблицы и добавив к нему 1?

Заранее благодарим вас за то, что нашли время прочитать это!

Одна из этих таблиц Users, и я поставил автоматически сгенерированный pk:

@Entity(tableName = "users")
public class Users_table {

@PrimaryKey(autoGenerate = true)
private int userID;

// the rest of the code 
}

Я также проверил, и метод @Insert вызывается, но я видел в журналах, что все идентификаторы пользователя: 0 .

...