SQLite保存报错sqlite.SQLiteConstraintException: UNIQUE constraint failed: ······ code 1555

往数据库里保存数据的时候报错,用的afinal框架,明明在save操作之前执行了一遍deleteAll操作,还是报错。

百度了一下说报这种错有两种情况:一是定义的字段为not null ,插入时对应的字段为null;二是定义的字段为主键,插入时在表中已经存在。

对第一种情况不可能发生,因为数据都是从后台实时获取的,debug id也不为null,所以应该是表中的数据没有真正删干净。

最后牺牲了点性能每一条数据都在数据库中查询了一遍,有重复主键的逐条删掉重新缓存最新数据,没有的直接保存。还好实际操作数据量不大,看不出对性能有什么影响。

posted @ 2018-10-09 17:00  vetter  阅读(8638)  评论(1编辑  收藏  举报