[MySQL]insert 三种插入语句

文章目录


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

filed type null key
id int(10) yes -
name varchar(20) yes -
user_id int(15) no pri
  • 预先插入一条记录
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:
id name user_id
2 李四 10

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

3.insert ignore into

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

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

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

上一篇:Mysql 使用 group by 不对 null 做分组


下一篇:mysql常用插入sql