【问题标题】:Room UNIQUE constraint failed房间 UNIQUE 约束失败
【发布时间】:2020-12-06 13:58:20
【问题描述】:

大家好,我遇到了这样的错误

原因:android.database.sqlite.SQLiteConstraintException:唯一约束失败:city.city_id(代码 1555 SQLITE_CONSTRAINT_PRIMARYKEY[1555])

我的城市实体是:

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

我的乐趣是:

@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,但在我提出请求之前,我想初始化城市硬编码。 但我尝试这种方式并不起作用。 如果有人可以帮助我,我真的很感激。

【问题讨论】:

    标签: android sql kotlin android-room


    【解决方案1】:

    @Insert(onConflict = OnConflictStrategy.REPLACE)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-17
      • 2021-12-09
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 2020-04-24
      • 1970-01-01
      相关资源
      最近更新 更多