MYSQL数据库之ON DUPLICATE KEY UPDATE 作用

首先,需要特别提醒大家,ON DUPLICATE KEY UPDATE 语法是MYSQL数据库独有。

ON DUPLICATE KEY UPDATE 语法的作用是:当insert一条语句的时候,如果发现该条记录已在数据库中存在,则使用Update更新相同记录中部分字段。

用法:

现有一张user表,表结构以及表数据如下:

表结构
user表结构
user表数据
user表数据

现在如果执行如下语句:

insert into user (user_id,user_name,age,address) values ( 1,"steven",12,"山东") ON DUPLICATE KEY UPDATE user_id=1,user_name="steven",age=12,address="山东";

我们首先看一下执行结果和执行过程

执行过程
执行过程

 

执行结果
user表更新后的数据

从结果和执行过程中我们会发现,mysql实际上影响了两条记录,而我们也会从这个更新语句中发现,当发现相同的主键语句的时候,会去执行后面的update的语句。而我们在这里也看到,ON DUPLICATE KEY UPDATE语法很好的帮助我们解决了实际开发中数据合并的业务,当我们需要合并两个人共同完成的业务时,我们可以是它很好的解决。同时,也保证在批量处理业务上的能够更好的去执行,以往我们数据合并的时候,我们首先需要判断两表之间的数据差异,然后,在去更新,但是,现在我们可以直接使用它。不用在去手动判断数据差异问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值