greendao执行insert出现UNIQUE constraint failed错误的解决办法
分类:Android, Java
阅读 (6,129)
Add comments
8月 022016
1.首先要有一个Long型的主键
2.该主键的初始值要赋值为null
如下:
1 2 3 4 5 6 |
@Entity(nameInDb = "tags") public class TagBean { @Property(nameInDb = "id") @Id(autoincrement = true) private Long id = null; } |
原理是:
当id的初始值设为null时,执行insert into 语句时,id的值也为null,然后数据库系统会自己计算这个,如下这个sql语句
1 |
insert into tags(id, uniqid, tagname, deleted) values(null, '1bb61dad-ef47-45c6-a1a8-905cd7f7f2f1', '汽车2331', 0) |