Mysql----一条SQL完成新增或更新

原创
2021/02/24 22:45
阅读数 792

最近遇到个业务场景:判断某条记录(主键判断)在数据库是否存在,如果存在,则执行更新操作,如果不存在,则执行插入操作。
常规的做法是:先用主键id去查询一次,如果有记录,则执行更新操作;否则执行插入操作。
后面学习mysql的时候,发现有关键字可以一次实现,ON DUPLICATE KEY UPDATE
数据库记录如下:
执行如下sql语句:

INSERT INTO cms_version (id,version, update_time)
VALUES
	(
		4,
		'2.0.1.2_patch',
		'2020-03-11 14:09:09'
	)
ON DUPLICATE KEY UPDATE
id=VALUES(id),version=VALUES(version),update_time=VALUES(update_time)


会发现数据库增加了一条记录,如下来更新这条记录

INSERT INTO cms_version (id,version, update_time)
VALUES
	(
		4,
		'2.0.1.3_patch',
		'2020-03-11 14:09:09'
	)
ON DUPLICATE KEY UPDATE
id=VALUES(id),version=VALUES(version),update_time=VALUES(update_time)

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部