[MySQL]insert 三种插入语句

本文介绍了MySQL中的三种插入语句:insert into、replace into和insert ignore into。当尝试插入主键重复数据时,insert into会导致错误,replace into会替换原有数据,而insert ignore into则会忽略新数据,保持原有数据不变。


已创建成功的数据表 b 数据信息如下:

filedtypenullkey
idint(10)yes-
namevarchar(20)yes-
user_idint(15)nopri
  • 预先插入一条记录
insert into b values(1,'张三',10);

下面的操作都在此基础上进行

1.insert into

插入主键重复数据会报错

insert into b values(2,'李四',10);

ERROR 1062 (23000): Duplicate entry ‘10’ for key ‘PRIMARY’;
由于新插入数据的主键列user_id与已存数据重复,所以报错,无法成功插入。

2.replace into

插入主键重复数据会替换原数据

replace into b values(2,'李四',10);
  • select * from b:
idnameuser_id
2李四10

与新数据相同主键列的记录已经被整条替换

3.insert ignore into

插入主键重复数据会忽略当前插入的新数据

insert ignore into b values(2,'王五',10);
  • select * from b:
idnameuser_id
2李四10

可以看到表中数据没有发生改变,新插入的数据被忽略掉了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值