filed | type | null | key | … |
---|---|---|---|---|
id | int(10) | yes | - | … |
name | varchar(20) | yes | - | … |
user_id | int(15) | no | pri | … |
insert into b values(1,'张三',10);
下面的操作都在此基础上进行
插入主键重复数据会报错
insert into b values(2,'李四',10);
ERROR 1062 (23000): Duplicate entry ‘10’ for key ‘PRIMARY’;
由于新插入数据的主键列user_id与已存数据重复,所以报错,无法成功插入。
插入主键重复数据会替换原数据
replace into b values(2,'李四',10);
id | name | user_id |
---|---|---|
2 | 李四 | 10 |
与新数据相同主键列的记录已经被整条替换
插入主键重复数据会忽略当前插入的新数据
insert ignore into b values(2,'王五',10);
id | name | user_id |
---|---|---|
2 | 李四 | 10 |
可以看到表中数据没有发生改变,新插入的数据被忽略掉了。