文档章节

MySQL不插入重复数据与删除重复数据

白志华
 白志华
发布于 2015/10/18 10:57
字数 193
阅读 8
收藏 0

今天写个小程序需要用到mysql,需求就是要求插入数据,但该数据不能已存在于表中,否则就不插入。

比如我需要插入question="aaa",correctAnswer="bbb"的数据,代码如下:

1
2
3
4
5
6
7
8
INSERT  INTO  questions
(question,correctAnswer)
SELECT  'aaa' , 'bbb'  FROM  dual
where  not  exists(
SELECT  FROM  questions
where  question= 'aaa'
and  correctAnswer= 'bbb'
)
1
<span class= "span4br" ></span>

其中"dual"为虚表,用于不提供实际表名查询数据。

当然,如果已经插入了若干条重复数据,则可以这么删除:

1
2
3
4
5
6
7
8
9
10
DELETE  FROM  a USING questions  AS  a,
(
SELECT  *
FROM  questions
GROUP  BY  question, correctAnswer
HAVING  COUNT ( * ) >1
AS  b
WHERE  a.question = b.question
AND  a.correctAnswer = b.correctAnswer
AND  a.questionId > b.questionId
1
<span class= "span4br" ></span>


本文转载自:http://blog.csdn.net/xiaoxian8023/article/details/41630185

共有 人打赏支持
白志华
粉丝 31
博文 265
码字总数 57524
作品 0
长沙
程序员
私信 提问
MySQL专题10之MySQL序列使用、MySQL处理重复数据、MySQL以及SQL的注入

1、MySQL序列使用 - MySQL序列是一组整数:1,2,3...,由于一张数据表只能有一个字段自增主键,如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现。 - 使用AUTOINCREMENT:MySQL...

极客微信条
2017/11/21
0
0
「mysql优化专题」90%程序员都会忽略的增删改优化(2)

前文一篇「mysql优化专题」这大概是一篇最好的mysql优化入门文章(1)让大家知道msql优化,究竟在优化什么,本篇为mysql优化专题的第二篇,主要先从增删改进行优化。大家可以收藏关注一波,若...

java进阶架构师
2017/11/22
0
0
MySql避免重复插入记录的几种方法

本文章来给大家提供三种在mysql中避免重复插入记录方法,主要是讲到了ignore,Replace,ON DUPLICATE KEY UPDATE三种方法,有需要的朋友可以参考一下 方案一:使用ignore关键字 如果是用主键p...

凯文加内特
2016/01/09
191
0
MySql避免重复插入记录的几种方法

本文章来给大家提供三种在mysql中避免重复插入记录方法,主要是讲到了ignore,Replace,ON DUPLICATE KEY UPDATE三种方法,有需要的朋友可以参考一下 方案一:使用ignore关键字 如果是用主键p...

messi_10
2016/01/11
61
0
讨人喜欢的 MySQL replace into 用法(insert into 的增强版)

讨人喜欢的 MySQL replace into 用法(insert into 的增强版) 在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。 在 ...

凡16
2014/03/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

HTTP状态码对照表(HTTP response codes)

由于博主工作最近在做大数据日志分析的时候,用到了很多http状态码相关的知识。博主基本只记得其中200和404两个,所以,在此做个笔录。 当浏览者访问一个网页时,浏览者的浏览器会向网页所在...

em_aaron
20分钟前
2
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
30分钟前
1
0
推荐转载连接

https://www.cnblogs.com/ysocean/p/7409779.html#_label0

小橙子的曼曼
56分钟前
3
0
雷军亲自打造的套餐了解下:用多少付多少

12月28日消息,小米科技创始人兼CEO雷军微博表示,小米移动任我行套餐方案,原则上就是明明白白消费,用多少付多少,不用不花钱!上网、电话和短信都是一毛钱,上网0.1元/M,电话0.1元/分钟,...

linuxCool
今天
3
0
协议简史:如何学习网络协议?

大学时,学到网络协议的7层模型时,老师教了大家一个顺口溜:物数网传会表应。并说这是重点,年年必考,5分的题目摆在这里,你们爱背不背。 考试的时候,果然遇到这个问题,搜索枯肠,只能想...

Java干货分享
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部