加唯一限制条件的索引
mysql> alter table 表名 add unique 索引名 (字段名);
例子: mysql> alter table employee add unique emp_name2(cardnumber);

解决方案 »

  1.   

    文档里面写识别这个语法,但是好像加了以后不起作用,
    你们都是是啥版本的mySql? 家了unique以后有用马?
      

  2.   

    Mysql3.23.0以后的版本都支持的。
      

  3.   

    我试了一下好像加了以后不起作用嘛
    看文档好像有个strict mode。。
      

  4.   

    用select version();查看你的版本,看看是否支持。
      

  5.   

    mysql> select version();
    +-----------+
    | version() |
    +-----------+
    | 4.1.8-nt  |
    +-----------+
    1 row in set (0.00 sec)
      

  6.   

    4.1.8肯定没问题先建个表测试一下:
    CREATE TABLE `a1b` (
      `id` int(11) NOT NULL auto_increment,
      `a` varchar(20) default NULL,
      `b` varchar(20) default NULL,
      `c` varchar(20) default NULL,
      `useid` varchar(20) default NULL,
      PRIMARY KEY  (`id`),
      unique INDEX aaa(a)
    ) TYPE=MyISAM DEFAULT CHARSET=latin1然后将插入的语句执行两次:
    INSERT into a1b set a='a';
    INSERT into a1b set a='a';
    第一次插入成功,第二次会提示key aaa重复。