SQL 中插入唯一约束可能冲突的记录,是先查询判断有无还是保存时判断 duplicate 错误。

2020-01-02 13:03:25 +08:00
 rimutuyuan
先查询的话会多一次操作,但是比较优雅。
实际应用中各位倾向于使用哪一种。
1224 次点击
所在节点    问与答
5 条回复
imicksoft
2020-01-02 13:39:54 +08:00
字段少用 insert into duplicate
optional
2020-01-02 13:42:35 +08:00
和 go 那样调用一个 api 先 if err 一样叫『优雅』?
最重要的是你怎么保证你查询完后其它进程不会比你先插入?
THESDZ
2020-01-02 17:09:29 +08:00
实际应该业务上(代码逻辑上)避免吧。。。
然后不允许并发的业务应该有锁控制
FaceBug
2020-01-03 08:55:04 +08:00
我一直没用后者,因为后者会造成自增不连续,没啥影响就是看的不爽
lucifer1108
2020-01-03 19:05:49 +08:00
第一个无法保证唯一性的.还是会在插入的时候报错

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/634408

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX