[转帖]INSERT IGNORE INTO 与 INSERT INTO

insert,ignore,into · 浏览次数 : 0

小编点评

**INSERT IGNORE INTO 语句** 该语句用于在数据库中插入数据时,如果数据库中已经存在相同的记录,则忽略当前新数据。 **语法:** ```sql INSERT IGNORE INTO tablename (column_list) VALUES (value_list) ON DUPLICATE KEY UPDATE SET column_list = column_list + (value_list); ``` **其中:** * `tablename` 是要插入数据的表名称。 * `column_list` 是要插入的数据的列名称。 * `value_list` 是要插入的数据的值列表。 * `ON DUPLICATE KEY UPDATE` 是执行更新操作的条件。 * `SET column_list = column_list + (value_list)` 是执行更新操作时更新的列值。 **示例:** 假设数据库里有一张名为 `useryee` 的表,包含 `id`、`name`、`sex` 和 `address` 四个字段。 ```sql INSERT IGNORE INTO useryee (id,name,sex,address) values (3,'Liuxf','male','California')\t; ``` 这段 SQL 将不会插入数据,因为 `useryee` 表中已存在记录具有相同的 `id`。 ```sql INSERT ignore into useryee (id,name,sex,address) values (5,'Liuxf','male','California')\t; ``` 这段 SQL 将成功插入数据,因为 `useryee` 表中没有记录具有相同的 `id`。

正文

INSERT IGNORE INTO

会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过当前插入的这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。

 

区别

 

  • INSERT INTO 表示插入数据,数据库会检查主键(PrimaryKey),如果出现重复会报错;
  • INSERT IGNORE INTO 表示,如果数据库中已经存在相同的记录,则忽略当前新数据;

 

案例:

数据库里有这张表(useryee):

1.  这时执行 sql:

insert ignore into useryee (id,name,sex,address) values (3,'Liuxf','male','California')	;

运行结果:

useryee 表没有改变;

 

2.  若执行 sql:

insert ignore into useryee (id,name,sex,address) values (5,'Liuxf','male','California')	;

 

则成功插入数据:

</article>

与[转帖]INSERT IGNORE INTO 与 INSERT INTO相似的内容:

[转帖]INSERT IGNORE INTO 与 INSERT INTO

INSERT IGNORE INTO 会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过当前插入的这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。 区别 INSERT INTO 表示插入数据,数据库会检查主键(PrimaryKey),如

【转帖】sqlserver 在高并发的select,update,insert的时候出现死锁的解决办法

最近在使用过程中使用SqlServer的时候发现在高并发情况下,频繁更新和频繁查询引发死锁。通常我们知道如果两个事务同时对一个表进行插入或修改数据,会发生在请求对表的X锁时,已经被对方持有了。由于得不到锁,后面的Commit无法执行,这样双方开始死锁。但是select语句和update语句同时执行,

[转帖]InnoDB引擎之-两次写(Double Write)

https://www.jianshu.com/p/63f2985fb427 InnoDB引擎有几个重点特性,为其带来了更好的性能和可靠性: 插入缓冲(Insert Buffer) 两次写(Double Write) 自适应哈希索引(Adaptive Hash Index) 异步IO(Async I

[转帖]DM 达梦数据库 记录超长 错误解决方法

2022-08-24 09:423551原创DM 达梦 本文链接:https://www.cndba.cn/dave/article/108596 1 问题说明与分析 在达梦数据库中进行数据库Insert时可能会遇到如下错误: java.sql.SQLException: Record length

[转帖]SQL Server超过了每行的最大字节数(8060)的原因和解决办法

一、现象 出现这种错误都发生在SQL语句建表时,错误提示: "警告: 已创建表 'XXXX,但其最大行大小(10438)超过了每行的最大字节数(8060)。如果结果行长度超过 8060 字节,则此表中行的 INSERT 或 UPDATE 将失败。" 二、原因 为什么说每行的最大长度是8096字节?

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防