湘潭网小编为大家带来以下内容:
这篇文章主要介绍“mysql中insert ignore、insert和replace的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql中insert ignore、insert和replace的区别是什么”文章能帮助大家解决问题。insert ignore、insert和replace的区别指令已存在不存在举例insert报错插入insert into names(name, age) values(“小明”, 23);insert ignore忽略插入insert ignore into names(name, age) values(“小明”, 24);replace替换插入replace into names(name, age) values(“小明”, 25);表要求:有PrimaryKey,或者unique索引
结果:表id都会自增
测试代码创建表
CREATE TABLE names( id INT(10) PRIMARY KEY AUTO_INCREMENT, name VARCHAr(255) UNIQUE, age INT(10))插入数据
mysql> insert into names(name, age) values("小明", 24);mysql> insert into names(name, age) values("大红", 24);mysql> insert into names(name, age) values("大壮", 24);mysql> insert into names(name, age) values("秀英", 24);mysql> select * from names;+----+--------+------+| id | name | age |+----+--------+------+| 1 | 小明 | 24 || 2 | 大红 | 24 || 3 | 大壮 | 24 || 4 | 秀英 | 24 |+----+--------+------+insert插入已存在, id会自增,但是插入不成功,会报错
mysql> insert into names(name, age) values("小明", 23);ERROR 1062 (23000): Duplicate entry '小明' for key 'name'replace已存在替换,删除原来的记录,添加新的记录
mysql> replace into names(name, age) values("小明", 23);Query OK, 2 rows affected (0.00 sec)mysql> select * from names;+----+--------+------+| id | name | age |+----+--------+------+| 2 | 大红 | 24 || 3 | 大壮 | 24 || 4 | 秀英 | 24 || 6 | 小明 | 23 |+----+--------+------+不存在替换,添加新的记录
mysql> replace into names(name, age) values("大名", 23);Query OK, 1 row affected (0.00 sec)mysql> select * from names;+----+--------+------+| id | name | age |+----+--------+------+| 2 | 大红 | 24 || 3 | 大壮 | 24 || 4 | 秀英 | 24 || 6 | 小明 | 23 || 7 | 大名 | 23 |+----+--------+------+insert ignore插入已存在,忽略新插入的记录,id会自增,不会报错
mysql> insert ignore into names(name, age) values("大壮", 25);Query OK, 0 rows affected, 1 warning (0.00 sec)插入不存在,添加新的记录
mysql> insert ignore into names(name, age) values("壮壮", 25);Query OK, 1 row affected (0.01 sec)mysql> select * from names;+----+--------+------+| id | name | age |+----+--------+------+| 2 | 大红 | 24 || 3 | 大壮 | 24 || 4 | 秀英 | 24 || 6 | 小明 | 23 || 7 | 大名 | 23 || 10 | 壮壮 | 25 |+----+--------+------+关于“mysql中insert ignore、insert和replace的区别是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注花开半夏行业资讯频道,小编每天都会为大家更新不同的知识点。
君子莲(www.junzilian.com)湖南省长沙、株洲、湘潭城市宣传信息网,提供房产,人才招聘,家居装饰,教育,论坛,旅游,特产,美食,天气,娱乐,企业等资讯。