zoukankan      html  css  js  c++  java
  • 给有重复记录的表添加唯一索引

    不希望数据表中有重复记录的时候我们可以给表添加一个联合唯一索引
    例如,user表中有user_id,user_name两个字段,如果不希望有两条一摸一样的的user_id和user_name,我们可以给user表添加两个字段的联合唯一索引:
    alter table  '表名' add unique index(user_id,user_name);


    这样当向表中添加相同记录的时候,会返回1062的添加失败信息。
    但是有一种情况是表中已经有n个重复的记录,这时候我们才想起来要添加唯一索引,再执行上面的操作时,数据库会告诉你已经有重复的记录了,建立索引失败,这时候,我们可以用下面的操作:

    alter ignore table '表名' add unique index(user_id,user_name);


    它会删除重复的记录(别怕,会保留一条),然后建立唯一索引,高效而且人性化。

    特别注意:有些版本innodb的bug导致alter ignore不起作用

  • 相关阅读:
    序列操作
    上帝造题的七分钟2 / 花神游历各国
    火柴排队
    pair(对组)用法
    线段树
    链上分治
    Rem与Px的转换
    css中单位px和em,rem的区别
    css网页自适应-1
    css网页自适应-2
  • 原文地址:https://www.cnblogs.com/xinjie10001/p/6238390.html
Copyright © 2011-2022 走看看