之前在介绍INSERT INTO命令时,曾经提到,该命令在执行数据插入操作时,会在数据库中对元组的主键进行检测,若没有存在,则执行插入动作,若存在,则会报错。

而INSERT IGNORE INTO命令与其不同的是,INSERT IGNORE会忽略数据库中已经存在的记录:

如果数据库没有数据,就插入新的数据;如果有数据的话就跳过这条数据。

这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。

需要说明的是,INSERT INTO和INSERT IGNORE INTO只根据“主键值”或“unique索引”进行判断,只要主键值已在数据库中存在,则认为即将插入重复记录。

语句:

INSERT IGNORE INTO table_name (field1,field2) values (value1,value2);

示例:

mysql> select * from staff_3;
+----------+-------+
| name | slary |
+----------+-------+
| liding | |
| haofugui | |
| xiaoli | |
+----------+-------+
rows in set (0.00 sec) mysql> describe staff_3;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name | char() | NO | PRI | | |
| slary | int() | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
rows in set (0.00 sec) mysql> insert into staff_3 (name,slary) values ('xiaoli',);
ERROR (): Duplicate entry 'xiaoli' for key 'PRIMARY'
mysql> insert ignore into staff_3 (name,slary) values ('xiaoli',);
Query OK, rows affected (0.00 sec) mysql> select * from staff_3;
+----------+-------+
| name | slary |
+----------+-------+
| liding | |
| haofugui | |
| xiaoli | |
+----------+-------+
rows in set (0.00 sec)

MySQL插入去重命令_INSERT IGNORE INTO的更多相关文章

  1. MySQL插入去重命令_REPLACE INTO

    以主键和unique索引为依据. INSERT INTO:表中不存在对应的记录,则插入:若存在对应的记录,则报错: INSERT IGNORE INTO:表中不存在对应的记录,则插入:若存在对应的记录 ...

  2. mysql插入操作跳过(ignore)、覆盖(replace into)、更新(on duplicate key)

    原帖地址:http:.html .insert ignore into 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回.所以使用ignore请确保语句本身没有问题,否则也会被忽 ...

  3. mysql插入数据时 insert IGNORE、ON DUPLICATE KEY UPDATE、replace into

    转: mysql insert时几个操作DELAYED .IGNORE.ON DUPLICATE KEY UPDATE的区别 博客分类: mysql基础应用   mysql insert时几个操作DE ...

  4. MySQL语句和命令大全

    前言 这里记录的是这两年学习工作过程中遇到的常用的 MySQL 语句和命令,部分是网上收集来的,出处已经不记得了,这里先谢过这些大佬.本文包括常见 SQL 语句,还有部分运维语句和命令,没有做详细的说 ...

  5. mysql 插入/更新数据

    mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO ...

  6. mysql常用的命令大全

    常用的MySQL命令大全一.连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1.例1:连接到本机上的MYSQL.首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令 ...

  7. mysql 基础指令/命令

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root - ...

  8. MySQL操作mysqldump命令详解

    --all-databases , -A导出全部数据库. --all-tablespaces , -Y导出全部表空间. --no-tablespaces , -y不导出任何表空间信息. --add-d ...

  9. mysql 插入数据失败防止自增长主键增长的方法

    mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的? 或者说 ...

随机推荐

  1. mac xmind 激活

    下载地址 https://www.jb51.net/softjc/624167.html 打开压缩包中的[K].zip  按里面的READ ME!.rtf 文件来操作 嗯,就这样

  2. Docker-常用命令(7)

    ## List Docker CLI commandsdockerdocker container --help ## Display Docker version and infodocker -- ...

  3. CF 634A Island Puzzle

    A. Island Puzzle time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  4. 读《javascript语法精粹》知识点总结

    昨天泡了大半天的读书馆,一口气看完了<javascript语法精粹>这本书,总体来说这本书还是写的不错,难怪那么多的推荐.<javascript语法精粹>主要是归纳与总结了ja ...

  5. LCA || BZOJ 1602: [Usaco2008 Oct]牧场行走 || Luogu P2912 [USACO08OCT]牧场散步Pasture Walking

    题面:[USACO08OCT]牧场散步Pasture Walking 题解:LCA模版题 代码: #include<cstdio> #include<cstring> #inc ...

  6. torch.nn.Embedding

    自然语言中的常用的构建词向量方法,将id化后的语料库,映射到低维稠密的向量空间中,pytorch 中的使用如下: import torch import torch.utils.data as Dat ...

  7. 线程安全 Thread Safety Problem scala concurrency 并发

    小结: 1.基于java并发模型 Scala concurrency is built on top of the Java concurrency model. 2. 将每个请求放入一个新的线程 T ...

  8. 一招制敌 - 玩转 AngularJS 指令的 Scope (作用域),讲得特别好

    学习了AngularJS挺长时间,最近再次回首看看指令这部分的时候,觉得比自己刚开始学习的时候理解的更加深入了,尤其是指令的作用域这部分. 步入正题: 每当一个指令被创建的时候,都会有这样一个选择,是 ...

  9. [CSS] Frequently used method or solutions for issues

    Stick button in right side in html Solution: //In the html <div class="float__button" & ...

  10. python队列基本使用

    Python queue队列 作用: 解耦:使程序直接实现松耦合,修改一个函数,不会有串联关系. 提高处理效率:FIFO = 现进先出,LIFO = 后入先出.   队列: 队列可以并发的派多个线程, ...