MySQL 处理插入过程中的主键唯一键重复值的解决方法处理插入过程中的主键唯一键重复值的解决方法
本篇文章主要介绍在插入数据到表中遇到键重复避免插入重复值的处理方法,主要涉及到IGNORE,ON DUPLICATE KEY
UPDATE,REPLACE;接下来就分别看看这三种方式的处理办法。
IGNORE
使用ignore当插入的值遇到主键(PRIMARY KEY)或者唯一键(UNIQUE KEY)重复时自动忽略重复的记录行,不影响后面的记录行的插
入,
创建测试表
CREATE TABLE Tignore
(ID INT NOT NULL PRIMARY KEY ,
NAME1 INT
)default charset=utf8;
正常的插入如果插入的记录中存在键重复会报错,整个语句都会执行失败
使用IGNORE如果插入的记录中存在重复值会忽略重复值的该记录行,不影响其它行的插入。
REPLACE
使用replace当插入的记录遇到主键或者唯一键重复时先删除表中重复的记录行再插入。
REPLACE INTO Treplace() VALUES(1,1),(1,2),(2,2);
创建测试表创建测试表
DROP TABLE IF EXISTS Treplace;
CREATE TABLE Treplace
(ID INT NOT NULL PRIMARY KEY ,
NAME1 INT
)default charset=utf8;
从输出的信息可以看到是4行受影响,说明它是先插入了(1,1)然后又删除了(1,1)
评论0