MySQL不插入重复数据与删除重复数据
2015-10-18 00:00
513 查看
今天写个小程序需要用到mysql,需求就是要求插入数据,但该数据不能已存在于表中,否则就不插入。
比如我需要插入question="aaa",correctAnswer="bbb"的数据,代码如下:
其中"dual"为虚表,用于不提供实际表名查询数据。
当然,如果已经插入了若干条重复数据,则可以这么删除:
比如我需要插入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> |
当然,如果已经插入了若干条重复数据,则可以这么删除:
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> |
相关文章推荐
- Mysql中 表数据 和 表结构 的复制语句
- MySQL数据库基准压力测试工具之MySQLSlap使用实例
- MySQL-5.6.13免安装版配置方法以及启动错误
- mysql错误
- 13个MySQL数据库的实用SQL小技巧
- MySQL数据库常用命令大全
- mysql-分区
- MySQL数据优化
- windows下mysql每天定时备份数据库几种方法
- MySQL数据库如何导入导出(备份还原)
- MySql-解决中文乱码问题
- MySQL 的 RowNum 实现(排行榜计算用户排名)
- [实战]MVC5+EF6+MySql企业网盘实战(5)——页面模板
- 查看和修改mysql5.6端口
- Mysql删除所有表不删除数据库方法
- mysql 编译安装和安装
- win7 64位下如何安装配置mysql
- mysql.sock的作用
- 如何获取MySql的ADO连接字符串
- MYSQL IF 和 IFNULL 函数 IF(expr1,expr2,expr3) IFNULL(expr1,expr2)