Mysql设置字段唯一,值唯一方式
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.主键列不允许空值,而唯一性索引列允许空值。