Avatar ·

如何在Room中设置自增主键(Android/Kotlin)?

大家好!我是一名初学Kotlin的Android开发者,正在尝试理解Room库。我有一个用于存储笔记的Entity。我希望在插入新记录时,id字段能自动递增,就像普通SQLite数据库中的`AUTOINCREMENT`一样。但我一直没成功。 这是我的代码: ```kotlin @Entity(tableName = "notes") data class Note( @PrimaryKey val id: Int = 0, val title: String, val content: String ) ``` 当我通过DAO插入新笔记时,我指定了id = 0,但Room报错说该id已存在(或冲突)。我尝试设置`autoGenerate = true`,但编译器报错说`autoGenerate`只能用于`Long`或`Int`。我读了一些Stack Overflow上的回答,但它们是英文的,有些地方不太明白。 请问,如何在Room中正确设置自增主键?是否需要使用`Long`代替`Int`?或者需要添加注解?