
1 qsbaq 2020-07-13 11:02:47 +08:00 感觉用异常处理方便些,只管插入就行了。 |
2 qsbaq 2020-07-13 11:03:09 +08:00 当然得设置唯一键 |
3 playniuniu 2020-07-13 11:09:58 +08:00 via Android 设置唯一索引,如果数据可以覆盖,就用 sql 里面的 replace into,否则就 insert into,看然后抓报错 |
4 takemeaway 2020-07-13 11:14:25 +08:00 不对吧,用异常那得是唯一索引啊,数据不可能都做索引吧。 再说了重复分很多种,单 KEY 还是多 KEY 重复呢? |
5 zsdroid 2020-07-13 11:14:47 +08:00 有逻辑删除需求的,唯一键会特别坑。 |
6 1018ji 2020-07-13 11:26:00 +08:00 判断是否重复,然后的业务逻辑是啥? |
7 rr41ns 2020-07-13 11:31:32 +08:00 联合唯一索引? |
8 jugelizi 2020-07-13 11:35:18 +08:00 via iPhone 伪删除的坑埋了 |
9 raysmond 2020-07-13 11:42:04 +08:00 得是数据库唯一索引才行。代码单个线程逻辑判断不行的,多线程和分布式环境下不适用。 |
10 VictorJing94 2020-07-13 11:49:26 +08:00 unique 约束啊 |
11 passerbytiny 2020-07-13 12:04:08 +08:00 via Android 看业务复杂度,简单的就主键 /唯一+捕获“唯一性冲突”异常,复杂点的就要先查出来再判断。但你问得是组合索引,说明不是单个字段,那业务复杂度就不会简单,必须选后者。 |
12 littlewing 2020-07-13 12:51:49 +08:00 via iPhone 数据重复的定义是啥?是只要 key 重复就算还是整行数据所有字段都相等? |
13 realpg PRO unique index insert ignore 获取 insert id |
14 FFFire 2020-07-13 14:33:57 +08:00 不是特别要求效率的话还是查一下吧,业务上的事别埋坑 |
15 Yuicon 2020-07-13 14:55:50 +08:00 加全局锁 然后查一遍插入 |
16 Tokiomi 2020-07-13 15:35:48 +08:00 互联网没有物理删除 |
17 wangsilence 2020-07-13 16:12:07 +08:00 建议使用逻辑,唯一索引不会使用 change buffer, 会影响插入效率 |
18 cs3230524 2020-07-13 18:42:21 +08:00 via Android 锁 |
19 newdongyuwei 2020-07-14 09:25:38 +08:00 |