Сбой ограничения уникальности комнаты

#android #sql #kotlin #android-room

#Android #sql #kotlin #android-комната

Вопрос:

Всем привет, у меня такая ошибка

Вызвано: android.database.sqlite.Исключение SQLiteConstraintException: сбой УНИКАЛЬНОГО ограничения: city.city_id (код 1555 SQLITE_CONSTRAINT_PRIMARYKEY[1555])

Мой объект City:

 @Entity(tableName = "city")
data class City(
        val name: String,
        val country: String,
){
        @PrimaryKey(autoGenerate = false)
        @ColumnInfo(name = "city_id") var cityId: Int = 0
}
 

Мое удовольствие от dao:

 @Insert
    fun insertCities(vararg city: City)
 

Я хочу вставить вот так:

 val berlin: City = City("Berlin", "Germany")
berlin.cityId = 2950159
val munich: City = City( "Munich", "Germany")
munich.cityId = 2867714
 

Этот идентификатор CityId поступает из API, но прежде чем я сделаю запрос, я хочу инициализировать жесткий код cities.
Но я пытаюсь так и не работает.
Если кто-то может мне помочь, я действительно ценю это.

Ответ №1:

@Insert(onConflict = OnConflictStrategy.ЗАМЕНИТЬ)