mysql批量插入更新的三种方案

主要记录下mysql中避免重复插入的三种方案
方案一 : REPLACE INTO

根据表主键primary key或唯一索引unique进行插入数据,当主键和唯一索引有一个存在时,则会删除原来的旧数据,重新插入新数据(相当于更新).
有如下三种用法:

REPLACE INTO `table_name` ( `col_name`, ...) VALUES( 'value', ... );
REPLACE INTO `table_name` ( `col_name`, ...) SELECT `col_name`, ... from table_name where ...;
REPLACE INTO `table_name` SET col_name='value', ... ;
方案二:INSERT IGNORE INTO

根据表主键primary key或唯一索引unique进行插入数据,当主键和唯一索引有一个存在时忽略,执行后返回0,否则正常插入.

INSERT IGNORE INTO `table_name` ( `col_name`, ...) VALUES( 'col_name', ... );
方案三: ON DUPLICATE KEY

当表主键primary key或唯一索引unique出现重复时执行更新,否则插入.语法如下.

iNSERT INTO `table_name` ( `col_name`, ... ) VALUES( `col_name`, ...  ) ON DUPLICATE KEY UPDATE `col_name` = 'value',...;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容