当前位置:网站首页>mysql使用on duplicate key update批量更新数据
mysql使用on duplicate key update批量更新数据
2022-08-02 02:47:00 【geejkse_seff】
创建测试—book科目表
CREATE TABLE `book` (
`id` int NOT NULL AUTO_INCREMENT,
`unique_code` varchar(30) NOT NULL,
`book_name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `unique_code` (`unique_code`) USING BTREE COMMENT 'book unique_code'
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
前提需要表中存在索引:如下 unique_code 即为索引
需求:需要导入数据到book表。 当book表中存在科目的数据时,update数据值,否则insert插入一条新记录。
以往做法:循环select表中的booke记录是否存在,存在则使用update;不存在则使用insert。
做法弊端:每处理一条记录需要操作两次数据库(select、update/insert)
优化做法:使用insert语句搭配 on duplicate key update使用。
做法注意:比如上面的需求,需要用到 book表****唯一unique_code索引
一、执行如下命令
insert into book(
unique_code,
book_name
) values (
'zs-001',
'中文'
) on duplicate key update book_name='数学';
二、再次执行步骤一命令你会发现book_name值改变
简单明白,通俗易懂~~
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
790. 数的三次方根
很有意思的经历,很有意思的项目--文件夹对比工具
Nanoprobes丨1-mercapto-(triethylene glycol) methyl ether functionalized gold nanoparticles
【CNN记录】tensorflow slice和strided_slice
VPS8702 VPSC(源特科技)电源管理(PMIC) 封装SOT23-6
永磁同步电机36问(三)——SVPWM代码实现
请教各位大佬,如果我代码里面设置了,这个id我在什么地方可以查到呢?连接到mysql cluste
[LeetCode] 94. Inorder traversal of binary tree
How ReentrantLock works
【LeetCode】102. Level order traversal of binary tree
Qt自定义控件和模板分享
【web】Understanding Cookie and Session Mechanism
搭建zabbix监控及邮件报警(超详细教学)
面对职场“毕业”,PM&PMO应该如何从容的应对?如何跳槽能够大幅度升职加薪?
analog IC layout-Parasitic effects
【LeetCode】20.有效的括号
Remember a pit for gorm initialization
【无标题】【Koltin Flow(三)】Flow操作符之中间操作符(二)
BioVendor Human Club Cellular Protein (CC16) Elisa Kit Research Fields
国标GB28181协议EasyGBS平台兼容老版本收流端口的功能实现