sql批量插入-存在id相同则更新数据

建表语句

1
2
3
4
5
6
7
8
9
10
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`a` int(11) NOT NULL,
`b` varchar(20) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入测试数据

1
INSERT INTO USER VALUES (1,'a'),(2,'b'),(3,'c');

查看结果:

1
SELECT * from USER ;

输入图片说明

插入存在id的测试数据

1
INSERT INTO USER VALUES (1,'a'),(2,'b'),(3,'c'),(4,'d') ON DUPLICATE KEY UPDATE b='test';

查看结果:

1
SELECT * from USER ;

输入图片说明

到此,我们已经可以成功看到测试结果,我们已经做到了 在sql批量插入时候,存在id相同则更新数据。

Highter wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!