MySQL 创建唯一索引忽略对已经重复数据的检查

MySQL 创建唯一索引忽略对已经重复数据的检查

在创建唯一索引的基础上加上关键字"IGNORE "即可。

# 重复数据
mysql> select aid,count(aid) as total ,email,tel_no,account_type,exten,passwd  from fudao_admin    group by user_name having total> 1;
+-------+-------+--------------------------+--------+--------------+-------+----------------------------------+
| aid   | total | email                    | tel_no | account_type | exten | passwd                           |
+-------+-------+--------------------------+--------+--------------+-------+----------------------------------+
|   256 |     5 |                          |        |            0 |       |                                  |
|  4712 |     2 | bin.liu@wenba100.com     | 0      |            0 |       | 1afc079897c2de73022540f7c31db632 |
|  1070 |     2 | feng.wang@wenba100.com   |        |            0 |       | c81103a50f7b7748303ede9726eed91a |
| 10429 |     2 | jingxuan.li@wenba100.com | 0      |            0 | 1090  | 9bd7aa138ff1486e1285a412bda934dd |
| 10425 |     2 | 843633577@qq.com         | 0      |            0 |       | 96e79218965eb72c92a549dd5a330112 |
| 10426 |     2 | 843633577@qq.com         | 0      |            0 |       | 96e79218965eb72c92a549dd5a330112 |
|  1402 |     2 | wei.liu@wenba100.com     |        |            0 |       | 72d1e186ab204c937ea48a3ff9f926fa |
|  3385 |     2 | xiao.li@wenba100.com     | 0      |            0 |       | 263cad88649b39ed9fc95739c4f20edc |
+-------+-------+--------------------------+--------+--------------+-------+----------------------------------+
8 rows in set (0.25 sec)
mysql> ALTER IGNORE TABLE fudao_admin ADD UNIQUE `uq_user_name` (user_name);
Query OK, 13530 rows affected, 1 warning (0.44 sec)
Records: 13530  Duplicates: 11  Warnings: 1
mysql> select aid,count(aid) as total ,email,tel_no,account_type,exten,passwd  from fudao_admin    group by user_name having total> 1;
Empty set (0.08 sec)

原文地址:https://www.cnblogs.com/bjx2020/p/11778445.html

时间: 2024-10-29 00:22:34

MySQL 创建唯一索引忽略对已经重复数据的检查的相关文章

sql server与mysql 中创建唯一索引

/*筛选索引 SQL SERVER 2008 测试*//* 应用:用户表,通过ID可以登录, 如果有电话号码也可以登录,但此时必须保证电话号码唯一.*/--1,创建测试表CREATE TABLE T( ID VARCHAR(20) NOT NULL PRIMARY KEY, MOBILE VARCHAR(20)NULL) --2,创建索引 唯一,非聚集索引(并添加筛选条件)CREATE UNIQUE NONCLUSTERED INDEX [IDX_MOBILE] ON [dbo].[T] ( [

MySQL忽略已重复数据强制创建唯一索引

常规方法: CREATE UNIQUE INDEX `idx_m2b_product_photo_pid_sort` ON `m2b`.`m2b_product_photo` (pid, sort) COMMENT '' ALGORITHM DEFAULT LOCK DEFAULT; 忽略已重复数据强制创建唯一索引的方法: ALTER IGNORE TABLE `m2b_product_photo` ADD UNIQUE `idx_m2b_product_photo_pid_sort` (`pi

mysql的唯一索引UNIQUE

创建唯一索引的目的不是为了提高访问速度,而只是为了避免数据出现重复.唯一索引可以有多个但索引列的值必须唯一,索引列的值允许有空值.如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该使用关键字UNIQUE,把它定义为一个唯一索引. 创建唯一索的方法 操作表 CREATE TABLE `wb_blog` ( `id` smallint(8) unsigned NOT NULL, `catid` smallint(5) unsigned NOT NULL DEFAULT

mysql利用唯一索引去重

在生产环境中,有时候我们会遇到这样的问题,就是去掉数据库中2列值相同的数据,并且留下一条语句,解决这个问题可以利用唯一联合索引 创建测试表 CREATE TABLE `test03` (`id` INT(11) ,`uid` INT(11) DEFAULT NULL); INSERT INTO test03(id,uid) VALUES (1,1),(1,2),(1,1),(1,2),(1,1); select * from test03; id    uid 1    1 1    2 1  

Mysql创建删除索引

1.查看某个表中的索引 show index from 表名 2.为某个表创建索引 alter table 表名 add index 索引名(列名)    //此种方式创建一般的索引 alter table 表名 add unique 索引名(列名)  //创建唯一索引 3.删除某个表的索引 drop index 索引名 on 表名

mysql删除表中重复数据创建唯一索引。

表结构如下,需要增加xx,yy复合唯一索引.create table table_a (id int(11) NOT NULL AUTO_INCREMENT,xx int(11) NOT NULL,yy int(11) NOT NULL,PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8; 保留最小iddelete a.* from table_a as a,( select min(id) id , xx,yy from table_a g

mysql删除唯一索引

在项目中用spring data jpa指定了一个唯一索引: @Entity @Table(name = "t_product") @Getter @Setter @AllArgsConstructor @NoArgsConstructor public class ProductItem { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; // 订单Id @Column(nullable

MySQL创建复合索引

在MySQL数据库中,创建复合索引的时候,不知道在创建过程中哪个列在前面,哪个列该在后面,用以下方式即可: select count(distinct first_name)/count(*) as first_name_selectivity,count(distinct last_name)/count(*) as last_name_selectivity,count(*)from actor\G mysql> select count(distinct first_name)/count

MySQL 创建高性能索引-->空间索引(R—Tree)

全文索引 全文索引是一种特殊类类型索引,它查找的是文本中的关键词,而不是直接比较索引中的值. 全文索引 更类似于搜索引擎做的事情,而不是简单的WHERE条件匹配. 全文搜索和其他几类索引 的匹配方式完全不一样.它有许多需要注意的细节,如停用词,词干,复数.布尔搜索等. 全文索引 适用于MATCH AGAINST操作,而不是普通的WHERE条件操作.