这个需求应该很常见的
一条记录如果存在就更新,不存在就插入
先select判空再insert还是update
但是要执行这条语句事务一定要串行化才行,否则有可能会插入重复数据,这个效率好低啊
或者使用
INSERT INTO
ON DUPLICATE KEY UPDATE 语句,但听说这个可能会产生死锁?
还闲的试过用synchronize,简直了(
针对重复数据,利用唯一索引可以解决,但这样就代表有时候会update失败
一般这种大佬们都是咋实现的?
这个需求应该很常见的
一条记录如果存在就更新,不存在就插入
先select判空再insert还是update
但是要执行这条语句事务一定要串行化才行,否则有可能会插入重复数据,这个效率好低啊
或者使用
INSERT INTO
ON DUPLICATE KEY UPDATE 语句,但听说这个可能会产生死锁?
还闲的试过用synchronize,简直了(
针对重复数据,利用唯一索引可以解决,但这样就代表有时候会update失败
一般这种大佬们都是咋实现的?
4 回答1.1k 阅读✓ 已解决
8 回答1.2k 阅读
3 回答995 阅读✓ 已解决
2 回答1.7k 阅读
1 回答830 阅读✓ 已解决
2 回答1.1k 阅读
2 回答1k 阅读
REPLACE INTO test(id,c1) VALUES ('1234657','1003');