개발/간단하게...
room 쓸 때 SQLITE_CONSTRAINT_PRIMARYKEY 에러나면?
lonewhitedot
2023. 3. 12. 13:42
반응형
난 그냥 id에 -1 넣으면 알아서 해주는 줄 알았는데 그러면 안됨
@Entity(tableName = INV_ITEM_TABLE_NAME)
data class InvItem(
@PrimaryKey val id: Int,
@ColumnInfo(name = "item_name") val itemName: String,
@ColumnInfo(name = "item_original_id") val itemOriginalId: String?,
@ColumnInfo(name = "price") val price: Int,
@ColumnInfo(name = "buy_date") @TypeConverters(DateConverter::class) val buyDate: Date,
@ColumnInfo(name = "sell_date") @TypeConverters(DateConverter::class) val sellDate: Date?
)
val invItem = InvItem(-1, "test1", null, 55, Date(235235L), null)
repository.insertData(invItem)
그래서 아래처럼 바꾸니깐 해결
@Entity(tableName = INV_ITEM_TABLE_NAME)
data class InvItem(
@ColumnInfo(name = "item_name") val itemName: String,
@ColumnInfo(name = "item_original_id") val itemOriginalId: String?,
@ColumnInfo(name = "price") val price: Int,
@ColumnInfo(name = "buy_date") @TypeConverters(DateConverter::class) val buyDate: Date?,
@ColumnInfo(name = "sell_date") @TypeConverters(DateConverter::class) val sellDate: Date?
){
@PrimaryKey(autoGenerate = true)
var id: Long? = null
}
val invItem = InvItem("test1", null, 55, Date(235235L), null)
반응형