mysql如何保证数据的原子性?没有则插入有则更新

本篇纯sql语句笔记


INSERT INTO oa_cfg_general_menu (id,`name`,icon_url,type,sort) VALUES (null,'测试','12','1','2') 
ON DUPLICATE KEY UPDATE name = '小望热线',icon_url = 1,type='SS'

id为主键索引,或者使用唯一索引都可以。

没有则插入有则更新

 

INSERT INTO oa_cfg_general_menu (id,`name`,icon_url,type,sort)
SELECT 14,'测试','12','1','2' FROM DUAL 
WHERE NOT EXISTS (SELECT 1 FROM oa_cfg_general_menu WHERE id = 14)

只是查询数据是否存在,不存在则插入,没有更新的操作,如需更新,需要写一个update方法

你可能感兴趣的:(mysql,mysql,原子性)