SQLiteDatabase: android.database.sqlite.SQLiteConstraintException: UNIQUE constr

A-Liang 2017-08-02 07:59:29
如题,每插入一条记录难道非要检查是否存在该记录么?
...全文
312 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
A-Liang 2017-08-02
  • 打赏
  • 举报
回复
引用 7 楼 wmxcn2000 的回复:
如果是一个insert,sqlite 会全部回滚。 如果是多个 insert 则只是这个insert 会回滚。
多个insert那就不能算是批量插入了吧,10万条数据,一条条插入会疯掉的吧!
卖水果的net 版主 2017-08-02
  • 打赏
  • 举报
回复
如果是一个insert,sqlite 会全部回滚。 如果是多个 insert 则只是这个insert 会回滚。
二月十六 版主 2017-08-02
  • 打赏
  • 举报
回复
引用 5 楼 yuerliang 的回复:
引用 1 楼 sinat_28984567 的回复:
得看数据库字段的设置,如果是主键或者有唯一约束,那么必须检查是否已经存在,如果没有这种约束,那就无所谓了
批量插入数据呢,要挨个查询是否存在记录?
那需不需要这些字段唯一呢?如果不需要的话,就把字段的唯一约束去掉,这样就不用检查了
A-Liang 2017-08-02
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28984567 的回复:
得看数据库字段的设置,如果是主键或者有唯一约束,那么必须检查是否已经存在,如果没有这种约束,那就无所谓了
批量插入数据呢,要挨个查询是否存在记录?
A-Liang 2017-08-02
  • 打赏
  • 举报
回复
引用 2 楼 wmxcn2000 的回复:
是的,这不正是 PK 或 UNIQUE 的好处吗?
如果一个事物:批量插入1万条数据,有一条插入失败,就全部回滚么?
A-Liang 2017-08-02
  • 打赏
  • 举报
回复
引用 2 楼 wmxcn2000 的回复:
是的,这不正是 PK 或 UNIQUE 的好处吗?
总感觉有可优化的地方,如果一个事物:批量插入1万条数据,有一条插入错误就回滚,插入失败么!
卖水果的net 版主 2017-08-02
  • 打赏
  • 举报
回复
是的,这不正是 PK 或 UNIQUE 的好处吗?
二月十六 版主 2017-08-02
  • 打赏
  • 举报
回复
得看数据库字段的设置,如果是主键或者有唯一约束,那么必须检查是否已经存在,如果没有这种约束,那就无所谓了

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧