数据库存在更新不存在插入怎样实现比较好?

这个需求应该很常见的
一条记录如果存在就更新,不存在就插入
先select判空再insert还是update
但是要执行这条语句事务一定要串行化才行,否则有可能会插入重复数据,这个效率好低啊
或者使用
INSERT INTO
ON DUPLICATE KEY UPDATE 语句,但听说这个可能会产生死锁?
还闲的试过用synchronize,简直了(

针对重复数据,利用唯一索引可以解决,但这样就代表有时候会update失败

一般这种大佬们都是咋实现的?

阅读 3.1k
2 个回答
新手上路,请多包涵

REPLACE INTO test(id,c1) VALUES ('1234657','1003');

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题