1、对于主键和唯一索引,可以用IGNORE关键字,遇到重复记录会直接忽略插入记录,返回0。
insert ignore into table_name ('id','name') values (1,'eddy')
2、replace关键字:REPLACE的运行与INSERT很相像,但是如果旧记录与新记录有相同的值,则在新记录被插入之前,旧记录被删除。REPLACE返回受影响的行数。
replace into table_name ('id','name') values (1,'eddy')
3、ON DUPLICATE KEY UPDATE:遇到重复的记录则更新指定的字段。如果行作为新记录被插入,则受影响行的值为1;如果原有的记录被更新,则受影响行的值为2。
insert ignore into table_name ('id','name') values (1,'eddy') on duplicate key update id = 100