分享MYSQL插入数据时忽略重复数据的方法

使用下以两种方法时必须把字段设为”主键(PRIMARY KEY”或”唯一约束(UNIQUE)”。
1:使用REPLACE INTO (此种方法是利用替换的方法,有点似类于先删除再插入) 


代码如下:

REPLACE INTO Syntax 
REPLACE [LOW_PRIORITY | DELAYED] 
    [INTO] tbl_name [(col_name,...)] 
    {VALUES | VALUE} ({expr | DEFAULT},…),(…),… 
Or: 
REPLACE [LOW_PRIORITY | DELAYED] 
    [INTO] tbl_name 
    SET col_name={expr | DEFAULT}, … 
Or: 
REPLACE [LOW_PRIORITY | DELAYED] 
    [INTO] tbl_name [(col_name,...)] 
    SELECT …

2:使用INSERT [IGNORE] INTO (此种方法效率比较高,判断是否存在,存在不插入,否则插入) 


代码如下:

INSERT [IGNORE] INTO Syntax 
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] 
[INTO] tbl_name [(col_name,...)] 
{VALUES | VALUE} ({expr [...]

(0)

相关推荐

  • MYSQL插入处理重复键值的几种方法

    先建立2个测试表,在id列上创建unique约束. mysql> create table test1(id int,name varchar(5),type int,primary key(id)); Query OK, 0 rows affected (0.01 sec) mysql> create table test2(id int,name varchar(5),type int,primary key(id)); Query OK, 0 rows affected (0.01 se

  • MySql避免重复插入记录的几种方法

    方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用: 复制代码 代码如下: INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com', '99999', '9999'); 这样当有重复记录就会忽略,执行后返回数字0 还有个应用就是复制表,避免重复记录: 复制代码 代码如下: INSERT IGNORE INT

  • MYSQL实现添加购物车时防止重复添加示例代码

    前言 最近因为工作的原因,在做APP购物车下单支付这一块儿.被测试提了一个bug,当点加入购物车点的比较快的时候,同一个商品在购物车中出现了两个. 因为加入购物车的时候,分2步, 第1步是先判断要加入购物车的商品是不是已经在购物车当中了,如果在的话就在原来的数量基础上做加一操作.如果不在再插件. 因为两步不是原子的操作,所以就出现了多线程的安全问题,下面话不多说了,来跟随小编一起来看看详细的解决过程吧,会对你有一定的帮助的. MySQL insert有一个比较高级的操作 示例代码: INSERT

  • MySQL 处理插入过程中的主键唯一键重复值的解决方法

    本篇文章主要介绍在插入数据到表中遇到键重复避免插入重复值的处理方法,主要涉及到IGNORE,ON DUPLICATE KEY UPDATE,REPLACE:接下来就分别看看这三种方式的处理办法. IGNORE 使用ignore当插入的值遇到主键(PRIMARY KEY)或者唯一键(UNIQUE KEY)重复时自动忽略重复的记录行,不影响后面的记录行的插入, 创建测试表 CREATE TABLE Tignore (ID INT NOT NULL PRIMARY KEY , NAME1 INT )d

  • 防止mysql重复插入记录的方法

    防止mysql重复插入记录的方法有很多种,常用的是ignore,Replace,ON DUPLICATE KEY UPDATE,当然我们也可以在php中加以判断了. 方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用: 代码如下: 复制代码 代码如下: INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com'

  • 分享MYSQL插入数据时忽略重复数据的方法

    使用下以两种方法时必须把字段设为"主键(PRIMARY KEY"或"唯一约束(UNIQUE)".1:使用REPLACE INTO (此种方法是利用替换的方法,有点似类于先删除再插入)  复制代码 代码如下: REPLACE INTO Syntax  REPLACE [LOW_PRIORITY | DELAYED]      [INTO] tbl_name [(col_name,...)]      {VALUES | VALUE} ({expr | DEFAULT}

  • Android中的sqlite查询数据时去掉重复值的方法实例

    1.方式一: /** * 参数一:是否去重 * 参数二:表名 * 参数三:columns 表示查询的字段,new String[]{MODEL}表示查询该表当中的模式(也表示查询的结果) * 参数思:selection表示查询的条件,PHONE_NUMBER+" = ?" 表示根据手机号去查询模式 * 参数五:selectionArgs 表示查询条件对应的值,new String[]{phoneNumber}表示查询条件对应的值 * 参数六:String groupBy 分组 * 参数

  • Select2在使用ajax获取远程数据时显示默认数据的方法

    假设我需要在我的select2中默认添加一个之前从服务器上获取过的数据,通过以下方法实现.实测可行~ var value = 1 var text = '默认文本' $('.selecter').html('<option value="' + value + '">' + text + '</option>').trigger("change") 以上代码其实就是将class="selecter"的select内容进行重

  • python训练数据时打乱训练数据与标签的两种方法小结

    如下所示: <code class="language-python">import numpy as np data = np.array([[1,1],[2,2],[3,3],[4,4],[5,5]]) y = np.array([1,2,3,4,5]) print '-------第1种方法:通过打乱索引从而打乱数据,好处是1:数据量很大时能够节约内存,2每次都不一样----------' data = np.array([[1,1],[2,2],[3,3],[4,4

  • BootstrapTable请求数据时设置超时(timeout)的方法

    使用bootstrapTable获取数据时,有时由于网络或者服务器的原因,无法及时获取到数据,页面显示一直处于等待状态.为了改善效果,考虑设置超时,请求发送后超时即显示无数据,过段时间重新发起请求. 实现上,bootstrapTable通过ajax获取数据,可以使用ajaxOptions选项设置ajax的一些属性. bootstrapTable要设置timeout,首先要将async属性设置为true,在bootstrapTable中async默认是false的.例如 $("#event_tab

  • vue渲染大量数据时卡顿卡死解决方法

    目录 1. 问题描述 2. 常见的解决方案 3. 解决方案流程图 4. 代码 1. 问题描述 由于业务需求,需要在一个页面中点击查询按钮时加载出所有的数据,但数据量有近10万条,渲染出现卡顿,页面卡死. 2. 常见的解决方案 - 自定义中间层 自定义nodejs中间层,获取并拆分这10w条数据, 前端对接nodejs中间层,而不是服务器 缺点:成本高 - 虚拟列表 只渲染可视区域DOM,其他隐藏区域不显示,只用div撑起高度,随着浏览器滚动,创建和销毁DOM. 虚拟列表实现起来非常复杂,可借用第

  • MySQL中查询、删除重复记录的方法大全

    前言 本文主要给大家介绍了关于MySQL中查询.删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍: 查找所有重复标题的记录: select title,count(*) as count from user_table group by title having count>1; SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Titl

  • MySQL查询重复数据(删除重复数据保留id最小的一条为唯一数据)

    开发背景: 最近在做一个批量数据导入到MySQL数据库的功能,从批量导入就可以知道,这样的数据在插入数据库之前是不会进行重复判断的,因此只有在全部数据导入进去以后在执行一条语句进行删除,保证数据唯一性. 下面话不多说了,来一起看看详细的介绍吧 实战: 表结构如下图所示: 表明:brand 操作: 使用SQL语句查询重复的数据有哪些: SELECT * from brand WHERE brandName IN( select brandName from brand GROUP BY brand

  • mysql查找删除表中重复数据方法总结

    在数据库表里,我们有时候会保存了很多重复的数据,这些重复的数据浪费资源,我们要将其删除掉,应该怎么处理呢?下面来看一下. 先看下我们的表数据,有一些数据是重复的. 要查找重复数据,我们可以使用mysql里的having语句,如图. 执行这个语句后,我们可以看到现在的结果里显示的就是表中重复数据的字段. 要删除这些重复的数据,我们找出这些数据的ID,在select语句里,添加id字段,使用max函数,可以得到重复数据最后面的id. 执行结果如图,得到重复数据的id为8和9. 这样我们就可以使用de

  • sqlserver清除完全重复的数据只保留重复数据中的第一条

    --创建测试表 CREATE TABLE [dbo].[testtab]( [id] [nchar](10) NULL, [name] [nchar](10) NULL ) ; --向测试表插入测试数据 insert into testtab values('1','1'); insert into testtab values('1','1'); insert into testtab values('2','2'); insert into testtab values('2','2');

随机推荐