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

被折叠的 条评论
为什么被折叠?



