首先这个的出现一般伴随着UPDATE 语句。我们先来想这样一种场景,我要对数据库中的一条记录,进行新增或者修改,但是呢又不想自己去判断里面是否有,说白了 就是两次查询。通过一行sql搞定。
INSERT INTO t_user(id,name,age) VALUES (1,'张三',25)
ON DUPLICATE KEY UPDATE name='张小三',age=30;
代码层面的东西其实没有能省略,两个sql合为了一个。而且update的具体操作必须在数据库里完成,比如这里的+1。