首页 新闻 会员 周边 捐助

捕捉主键冲突异常和先查后插哪个更好

0
悬赏园豆:10 [已解决问题] 解决于 2019-11-07 17:44

向数据库中插入记录的时候需要判断插入成功与否。
业务逻辑是:
如果主键已存在,视为该条记录已插入过,跳过之,返回false。
如果主键不存在,插入之,返回true。

因为牵扯到并发,先查后插效果可能没那么好。
所以异常肯定要捕捉,那么先查后插有没有存在的必要呢

轻红的主页 轻红 | 菜鸟二级 | 园豆:208
提问于:2019-06-18 10:16

题外话,数据库层再设置个唯一约束

chengeng 5年前

@chengeng: 这就是主键,有主键约束,

轻红 5年前
< >
分享
最佳答案
0

还是可以要,相当于减少了冲突。

收获园豆:10
gw2010 | 小虾三级 |园豆:1487 | 2019-06-18 17:16
其他回答(1)
0

sql server 获取自增列下一个值或者获取指定表的主键值
IDENT_CURRENT('TableName')为当前的最大标识值,

IDENT_INCR('TableName')为设置的标识值增量,

然后你可以这样写
INSERT INTOTableName VALUES( IDENT_CURRENT('TableName') + IDENT_INCR('TableName'))
这样就同步了

熊泽-学习中的苦与乐 | 园豆:2272 (老鸟四级) | 2019-06-28 14:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册