我是活跃Android的新手,我已完成CRUD操作,但我无法为主键设置自动增量。我已经尝试了下面的代码,但它对我没用:
@Table(name = "Employee", id = "EmpId")
public class Employee extends Model {
@Column(name = "empid")
public long empid;
@Column(name="name")
public String name;
}
此处employee
是我的表名。我有两个主要字段,一个是empid
和name
。我需要将自动增量值设置为主键。
我怎么能这样做?
答案 0 :(得分:1)
要使用唯一列作为伪主键进行更新,注释将如下所示:
@Column(name = "empid", unique = true, onUniqueConflict = Column.ConflictAction.REPLACE)
public long empid;
我们可以在documentation中阅读:
需要注意的一点是,ActiveAndroid会创建一个 id字段 为你的表。此字段是自动递增主键。
此外,如果您想在模型中创建自定义主键,可以检查GitHub issue connected with ActiveAndroid中提到的解决方案,如下所示:
@Table(name = "Employee", id = "EmpId")
public class Employee extends Model {
@Column(name = "id")
public long id;
@Column(name="name")
public String name;
}
然后,id字段是自定义主键,它将自动递增。