Mysql设置字段唯一,值唯一方式

mybatis3系列文章目录链接


Mysql设置某字段唯一,

两种方式,1给字段设置unique关键字,2增加只包含一个字段的唯一索引

 

1.建表时加上唯一性约束
 创建sql表时,用关键字unique给字段上添加唯一性约束,比如字段username的处理:

CREATE TABLE `t_user` (

`Id` int(11) NOT NULL AUTO_INCREMENT,

`username` varchar(18) NOT NULL unique,

`password` varchar(18) NOT NULL,

PRIMARY KEY (`Id`) 

) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=utf-8;

  

 

2.给已经建好的表加上唯一性约束,直接操作表数据非常危险,要求表中内容原本就符合唯一性

ALTER TABLE `t_user` ADD unique(`username`);

或者,增加只包含该字段的唯一索引

create unique index UserNameIndex on 't_user' ('username');

 

唯一性索引可以包含多个字段。

例如,假设有一个名为users的表,其中包含first_name, last_name和email列

你可以创建一个包含first_name, last_name和email的多键唯一索引,

来确保每个人的名字和电子邮件地址组合是唯一的:

CREATE UNIQUE INDEX unique_name_email ON users (first_name, last_name, email);

 

 

 

 

mysql主键索引和唯一索引的区别:

 

1.主键一定是唯一性索引,唯一性索引并不一定就是主键;

2.一个表中可以有多个唯一性索引,但只能有一个主键;

3.主键列不允许空值,而唯一性索引列允许空值。

posted @ 2018-08-09 10:05  MoreJewels  阅读(46557)  评论(0编辑  收藏  举报