对于ON DUPLICATE KEY UPDATE语法,你也可以理解为是用来解决数据重复性的,当然我当时用它就是来了去重的,比较简单,方便。
但还要多了解一点,比如在插入大量数据时添加上该语法,就可以直接进行判断筛选,如插入的数据在表中已存在,那么该数据就不是写入到表中,而是更新到该表中。
还有主要一点,别忘记添加索引(当然,原来就有的可以忽略),通过添加索引,其实就相当于给定个条件。有了明确的条件,就可以很好的执行该语法,得到想要的结果。
用法的也不难,很简便,只要在自己的SQL语句后面添加上就OK了。
ON DUPLICATE KEY UPDATE 表名.索引字段 = 表名.索引字段
更新
insert into persons1 ( id,`name`,phone)values(1,'b','10086') ON DUPLICATE KEY UPDATE `name` = VALUES(name)