最后咱们通过简单的例子说明下:
insert into表示插入数据,数据库会检查主键,如果出现重复会报错;
replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;
insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据;
下面通过代码说明之间的区别,如下:
create table testtb(
id int not null primary key,
name varchar(50),
age int
);
insert into testtb(id,name,age)values(1,"bb",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
MYSQL:Inert、IGNORE、REPLACE INTO的功能与用法
最新推荐文章于 2024-12-10 18:58:08 发布
本文详细解释了SQL中的三种插入指令:insert into、insert ignore及replace into的区别与应用场景,并通过具体的代码示例展示了它们如何处理主键冲突的情况。
429

被折叠的 条评论
为什么被折叠?



