GreenDao insert 解决 PRIMARY KEY must be unique

  1. 如果主键标记时没有添加autoincrement,那么就是传的id重复了, 传的时候获取最新id然后++id即可

  2. 如果标记@Id(autoincrement = true),按理不用手动传id的,也确实没传,还报not unique的话,那么 GreenDao的主键必须设置成包装类 Long

@Id(autoincrement = true)
private long _id;

结论:

  • 如果主键设置为包装类Long类型,那么在生成的Dao类中会有一个判断为null才插入,非null则更新
  • 如果是long类型,即使不传值,也会insert _id = 0,于是报异常

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/26/greendao-insert-solve-primary-key-must-be-unique/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
GreenDao insert 解决 PRIMARY KEY must be unique
如果主键标记时没有添加autoincrement,那么就是传的id重复了, 传的时候获取最新id然后++id即可 如果标记@Id(autoincrement = true),按理不用手动传id的……
<<上一篇
下一篇>>
文章目录
关闭
目 录