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才可使用。