insert into与insert ignore以及replace into的区别

Posted zqq521

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了insert into与insert ignore以及replace into的区别相关的知识,希望对你有一定的参考价值。

insert ignore表示,如果表中已经存在相同的记录,则忽略当前新数据;

INSERT INTO有无数据都插入,如果主键则不插入;

REPLACE INTO 如果是主键插入则会替换以前的数据; 

1.insert语句一次可以插入多组值,每组值用一对圆括号括起来,用逗号分隔,如下:

insert into `news`(title,body,time) values(‘www.111cn.net‘,‘body 1‘,now()),(‘title 2‘,‘body 2‘,now());
 
下面通过代码说明之间的区别,如下:

create table testtb( 
id int not null primary key, 
name varchar(50), 
age int 
);

insert into testtb(id,name,age)values(1,"www.111Cn.net",13); 
select * from testtb; 
insert ignore into testtb(id,name,age)values(1,"aa",13); 

select * from testtb;//仍是1,“bb”,13,因为id是主键,出现主键重复但使用了ignore则错误被忽略 
replace into testtb(id,name,age)values(1,"aa",12); 
select * from testtb; //数据变为1,"aa",12

 











以上是关于insert into与insert ignore以及replace into的区别的主要内容,如果未能解决你的问题,请参考以下文章

INSERT IGNORE 与INSERT INTO的区别

INSERT IGNORE 与INSERT INTO的区别

INSERT IGNORE 与INSERT INTO的区别,以及replace的用法

MySQL的insert ignore与replace into不同

MySQL中的insert ignore into, replace into用法总结

MySQL中的insert ignore into, replace into等的一些用法小结(转)