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

mybatis3系列文章目录链接


Mysql设置某字段唯一,

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

 

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

1
2
3
4
5
6
7
8
9
10
11
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.给已经建好的表加上唯一性约束,直接操作表数据非常危险,要求表中内容原本就符合唯一性

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

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

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

 

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

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

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

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

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

 

 

 

 

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

 

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

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

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

posted @   MoreJewels  阅读(46785)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示