MySQL插入去重命令_INSERT IGNORE INTO
之前在介绍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的更多相关文章
- MySQL插入去重命令_REPLACE INTO
以主键和unique索引为依据. INSERT INTO:表中不存在对应的记录,则插入:若存在对应的记录,则报错: INSERT IGNORE INTO:表中不存在对应的记录,则插入:若存在对应的记录 ...
- mysql插入操作跳过(ignore)、覆盖(replace into)、更新(on duplicate key)
原帖地址:http:.html .insert ignore into 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回.所以使用ignore请确保语句本身没有问题,否则也会被忽 ...
- mysql插入数据时 insert IGNORE、ON DUPLICATE KEY UPDATE、replace into
转: mysql insert时几个操作DELAYED .IGNORE.ON DUPLICATE KEY UPDATE的区别 博客分类: mysql基础应用 mysql insert时几个操作DE ...
- MySQL语句和命令大全
前言 这里记录的是这两年学习工作过程中遇到的常用的 MySQL 语句和命令,部分是网上收集来的,出处已经不记得了,这里先谢过这些大佬.本文包括常见 SQL 语句,还有部分运维语句和命令,没有做详细的说 ...
- mysql 插入/更新数据
mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO ...
- mysql常用的命令大全
常用的MySQL命令大全一.连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1.例1:连接到本机上的MYSQL.首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令 ...
- mysql 基础指令/命令
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root - ...
- MySQL操作mysqldump命令详解
--all-databases , -A导出全部数据库. --all-tablespaces , -Y导出全部表空间. --no-tablespaces , -y不导出任何表空间信息. --add-d ...
- mysql 插入数据失败防止自增长主键增长的方法
mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的? 或者说 ...
随机推荐
- 利用PowerShell监控Win-Server性能
Q:如何系统层面的去监控一下Windows Server? A:额……一时间的话……能想到的可能也就是PowerShell+SQL Server+job,试试. 1.关于PowerShell 2.Po ...
- OpenGL矩阵变换,坐标空间变换
- 19款Windows实用软件推荐,满满的干货,总有一款是你必备的
https://post.smzdm.com/p/745799/ 追加修改(2018-08-20 12:28:23):一些追加内容: 很多人都在吐槽为什么推荐Clover,这里我说明一下,就我了解到的 ...
- shell脚本监控网站状态
shell脚本监控网站状态 #!/bin/sh date=`date +"%Y%m%d-%H%M"` title="status" contentFail=&q ...
- GO语言-基础语法:变量定义
package main import ( "fmt" ) //不在函数内的变量,属于包内的变量.不能使用":="进行定义和赋值 var ( bb = cc = ...
- 阿里天池的新任务(简单)(KMP统计子串出现的次数)
阿里“天池”竞赛平台近日推出了一个新的挑战任务:对于给定的一串 DNA 碱基序列 tt,判断它在另一个根据规则生成的 DNA 碱基序列 ss 中出现了多少次. 输出格式 输出一个整数,为 tt 在 s ...
- python 链表表达式 map、filter易读版
链表推导式 [x for x in x] 链表推导式提供了一个创建链表的简单途径,无需使用 map(), filter() 以及 lambda.返回链表的定义通常要比创建这些链表更清晰.每一个链表推导 ...
- mysql winx64安装配置方法
1.mysql-5.7.21-winx64.zip解压到自己指定的路径 2.自己新建Data文件夹和my.ini文件 my.ini内容,直接复制修改路径即可 my.ini需要保存为ANSI格式 ,否 ...
- js中级小知识5
元素的属性 div.attributes是所有标签属性构成的数据集合 div.classList是所有class名构成的数组集合 在classList的原型链上可以看到add()和remove() 1 ...
- ExecuteExcel4Macro (宏函数)使用说明
用ExecuteExcel4Macro从未打开的Excel工作簿中读取数据(转载) 从另外一个未打开的Excel文件中读取数据的函数 下面这个函数调用XLM宏从未打开的工作簿中读取数据. *注意: ...