Rak*_*i s 5 sqlite android android-database android-room
我有带有复合主键的表。我可以将其中一个文件设为自动生成吗?
Secenario :我有一个teacher table
包含字段 techerId、姓名、性别、角色、部门、等级的字段,它具有由角色、部门和等级组成的复合主 ID。如何使teacherid自动生成?
如果你仔细阅读这个答案,你会发现我们不能在复合主键中拥有自增属性。因此,解决方法是使用indexing
and 的概念unique constraint
。使role
, deptt
,grade
列像您一样indices
并将unique
约束设置为true
。这将确保这三个值对始终是唯一的(如primaryKey)。然后在实体中添加techerId
as Primarykey
(autoGenerate = true)。你的entity
班级看起来像:
@Entity(tableName = "teacher",indices = arrayOf(Index(value = ["role","department","grade"],unique = true)))
public class Teacher{
@PrimaryKey(autoGenerate = true)
int teacher_id;
@ColumnInfo(name = "name")
String teacher_name;
//Rest of the fields
......
......
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1923 次 |
最近记录: |