mysql批量插入、更新数据(不存在则插入,存在则更新)

本文介绍了如何使用MySQL进行批量数据插入,并在数据已存在时执行更新操作。通过SQL示例展示了(?,?,?)的参数组装方式及on duplicate key update的使用,强调了values(?)用于引用传入参数值,而不用values()则引用原有值的细节。" 126650988,11376320,Apache Flink CVE-2020-17518漏洞复现及getshell指南,"['web安全', '漏洞复现', 'Apache Flink', '文件上传_rce', '渗透测试']

SQL示例语句

INSERT INTO sys_change_bak_test
(
	chg_id,chg_no,
	affairs_id,affairs_stage_id,
	stage_id,tmp_id
)
VALUES
	('a','1','1','10001','s1','t1'),
	('b','2','3','10002','s2','t2'),
	('c','3','3','10003','s3','t3')

ON DUPLICATE KEY UPDATE
	affairs_id = VALUES(affairs_id),
	affairs_stage_id = VALUES(affairs_stage_id),
	tmp_id = VALUES(tmp_id),
	stage_id = VALUES(stage_id),
	po_no = IFNULL(VALUES(po_no),po_no)

补充说明

1,批量插入直接在values 关键字后面组装要插入的参数即可。
格式:(?,?,?,),(?,?,?)
2,on duplicate key update 表示如果主键已经存在,则执行更新语句,更新的字段就是on duplicate key update 后面指定的 参数。

注意点

values(?) 表示引用传入的参数值。
不用values() 表示引用原来的参数值。
如示例中最后一行表示:po_no 如果传入的参数值为空,则不更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值