- 浏览: 596339 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
mysql中insert into和replace into以及insert ignore用法区别:
mysql中常用的三种插入数据的语句:
insert into表示插入数据,数据库会检查主键,如果出现重复会报错;
replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;
insert ignore into表示,如果中已经存在相同的记录,则忽略当前新数据;
下面通过代码说明之间的区别,如下:
转自:http://mxdxm.iteye.com/blog/1153513
mysql中常用的三种插入数据的语句:
insert into表示插入数据,数据库会检查主键,如果出现重复会报错;
replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;
insert ignore into表示,如果中已经存在相同的记录,则忽略当前新数据;
下面通过代码说明之间的区别,如下:
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
转自:http://mxdxm.iteye.com/blog/1153513
发表评论
文章已被作者锁定,不允许评论。
-
mysql 技术内幕学习
2018-10-22 12:42 607... -
mysql 全文索引(fulltext)学习
2018-10-15 11:09 550使用索引是数据库性能优化的必备技能之一。在MySQL数据库中, ... -
mysql cast和convert函数学习(将字符串转数字)
2018-08-03 11:12 1007MySQL 的CAST()和CONVERT()函数可用来获取一 ... -
mysql 外键锁机制
2014-12-09 10:25 1122在mysql的多个存储引擎中,innodb支持外键,但是由于外 ... -
mysql 常见函数总结
2014-11-06 19:41 733--获取当前的database se ... -
MySQL checksum了解
2014-11-05 19:51 508在主从复制中Checksum常常需要对某些重要的表进行一致性检 ... -
Mysql 常见命令总结
2014-11-04 20:01 3451.linux下启动mysql的命令: mysqladm ... -
MySql 数据库的创建和查看
2014-11-04 19:51 382使用SHOW语句找出在服务器上当前存在什么数据库 mys ... -
MySQL独立表空间VS共享表空间
2014-11-04 19:19 552在使用Innodb引擎时将要 ... -
mysql Multiversion Concurrency Control机制(mvcc)
2014-09-11 17:46 684在进行多事务 ... -
mysql 操作索引FORCE INDEX
2014-09-01 17:14 16901、创建索引 索引的创建可以在CREATE TABLE语句中 ... -
InnoDB Insert Buffer(插入缓冲)
2014-08-30 11:40 1130插入缓冲,并不是缓存的 ... -
mysql 存储过程例子
2014-08-28 11:36 542(1)循环遍历值 drop procedure if e ... -
MySQL if case语句使用总结
2014-08-26 19:47 564Mysql的if既可以作为表达式用,也可在存储过程中作为流程控 ... -
mysql 事务隔离级别
2014-08-25 12:00 668用户可以用SET TRANSACTION语句改变单个会话或者所 ... -
mysql cpu占100%调优案例
2014-08-23 21:44 501解决 MYSQL CPU 占用 100% 的经验总结 ... -
mysql cursor使用
2014-08-22 20:24 862一,什么是游标(cursor) 个人觉得就是一个cursor, ... -
mysql 查看表数据量
2014-08-22 16:55 483数据库中有几十上百张表,那么哪些表的数据量比较大呢,总不 ... -
mysql mysqldump导入导出
2014-08-22 16:32 1039我们来看几个常用用例: (1)导出整个数据库 mysqld ... -
mysql DATE_FORMAT() 函数
2014-08-22 16:23 459定义和用法 DATE_FORMAT() 函数用于以不同的格式显 ...
相关推荐
而 `REPLACE` 的效率相比 `INSERT IGNORE` 或 `INSERT ON DUPLICATE KEY UPDATE` 在某些情况下可能会更高,因为它不需要检查每一行是否存在冲突,而是直接进行替换。 总结来说,`REPLACE` 和 `REPLACE INTO` 是...
当遇到主键或唯一键冲突的情况,有三种主要的插入方法可以帮助我们避免重复数据,分别是`INSERT IGNORE`、`REPLACE INTO`和`INSERT ON DUPLICATE KEY UPDATE`。下面我们将详细探讨这三种方法的用法及其区别。 1. **...
insert ignore into t_3 values ('username', '12345678', 12345678); create table t_4 ( username varchar(50) primary key, logintime int unsigned ) charset utf8; insert into t_4 values ('username', ...
MySQL数据库的更新语句主要涉及两个关键操作:`INSERT`和`REPLACE`。这两个语句主要用于向数据库表中添加新的数据,但它们在处理重复数据时有所不同。 1. `INSERT`语句: - 通常形式:`INSERT INTO tablename ...
INSERT IGNORE INTO t_3 VALUES ('username', 'password', 12345678); ``` - 记录用户登录时间,如果存在则更新,不存在则新增,可以利用`ON DUPLICATE KEY UPDATE`来实现。 ```sql CREATE TABLE t_4 (username ...
方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录...还有个应用就是复制表,避免重复记录: 代码如下: INSERT IGNORE INTO `table_1` (`name`) SELECT `name` FROM `table_2`; 方案二:使用
在MySQL中,当我们需要向数据库表中插入数据时,但又希望避免插入已经存在的记录,可以采用`INSERT IGNORE`、`REPLACE INTO`或者结合`SELECT`与`NOT EXISTS`子句的方式来实现。这里我们将详细探讨`NOT EXISTS`子句在...
总的来说,理解并正确使用`REPLACE INTO`和`INSERT [IGNORE] INTO`是MySQL数据库管理中的重要技能,它们可以帮助你有效地处理重复数据,保持数据的整洁和一致性。在实际工作中,应根据业务需求和数据特性来选择最...
- **冲突替换**:`replace into 表名 [(字段列表)] values(值列表)`,如果主键冲突,MySQL会先删除原有记录,然后插入新的记录。这种方法效率较低,因为它涉及到删除和插入两个步骤。 这三种方法都会对性能产生...
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ] ``` 其中,`tbl_name`...
LOAD DATA [LOCAL] INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE table_name [FIELDS TERMINATED BY 'string' ENCLOSED BY 'char' ESCAPED BY 'char'] [LINES TERMINATED BY 'string' STARTING BY 'string'...
3. 冲突替换:使用`replace into`语句,它会先删除已存在的记录,然后插入新的记录,但效率相对较低,因为它需要检查冲突。 举例说明,假设我们有一个用户注册表`t_3`,其中`username`为主键,我们可以使用`insert ...
在MySQL中,插入数据通常使用`INSERT INTO`语句。例如,向表`emp`插入数据,基本语法如下: ```sql INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...); ``` `REPLACE INTO`语句在插入时会检查唯一索引或主键...
总结一下,`INSERT INTO`适用于新数据插入,`REPLACE INTO`适用于完全替换已有数据,`INSERT IGNORE INTO`避免覆盖数据,而`ON DUPLICATE KEY UPDATE`则允许在冲突时更新已有记录。在跨服务器的数据迁移时,需要额外...
综上所述,处理 MySQL 双主主键冲突通常涉及查找冲突数据、修改现有数据、使用 REPLACE INTO 或 INSERT IGNORE INTO 语句,以及优化复制策略。根据具体需求和业务场景,选择最适合的解决方案以确保数据的一致性和...
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Block"); INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Newton"); INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL,...