防止mysql重复插入

发布时间:2017-08-15 浏览次数:3148 文章来源:个人博客

mysql数据插入的时候,受网络或者其他因素的影响,会有重复的插入数据。


我们如果避免重复的插入?有很多种办法:


第一:使用ignore关键字

用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用。当有重复记录就会忽略,执行后返回数字0。


第二:使用Replace


第三:ON DUPLICATE KEY UPDATE


个人感觉这第三个不错,其作用是插入的时候有重复,那么就就执行更新。

INSERT INTO `table` (`a`, `b`, `c`) VALUES (1, 2, 3) ON DUPLICATE KEY UPDATE `c`=`c`+1; 
UPDATE `table` SET `c`=`c`+1 WHERE `a`=1;

需要注意的地方,即需要设置unique才可使用。


key-word
sql sql多次插入 sql重复 sql重复插入