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语法很好的帮助我们解决了实际开发中数据合并的业务,当我们需要合并两个人共同完成的业务时,我们可以是它很好的解决。同时,也保证在批量处理业务上的能够更好的去执行,以往我们数据合并的时候,我们首先需要判断两表之间的数据差异,然后,在去更新,但是,现在我们可以直接使用它。不用在去手动判断数据差异问题。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章