mysql 唯一约束_Mysql 唯一性约束添加
一、单列唯一约束
在一列上添加唯一约束,主要是让该列在表中只能有唯一的一行,例如注册邮箱时的邮箱名、手机号等信息,相关操作如下:
1.建表时加上唯一性约束:
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=gbk;
2.给已经建好的表加上唯一性约束:
ALTER TABLE `t_user` ADD unique(`username`);
或者:
create unique index UserNameIndex on 't_user' ('username');
二、多列联合唯一约束
如果业务中要求两个字符联合起了是唯一的,比如“地址”+“名称”是唯一的,这就需要对两列,甚至多列添加联合唯一约束,具体命令如下:
1.确认表结构
mysql> show create table jw_resource;
FIELD TYPE COLLATION NULL KEY DEFAULT Extra PRIVILEGES COMMENT
------------- ------------ -------------- ------ ------ ------- -------------- -------------------- -------
id BIGINT(20) (NULL) NO PRI (NULL) AUTO_INCREMENT SELECT,INSERT,UPDATE
resource_name VARCHAR(128) gbk_chinese_ci YES (NULL) SELECT,INSERT,UPDATE
resource_type TINYINT(4) (NULL) YES (NULL) SELECT,INSERT,UPDATE
2.给resource_name和resource_type添加联合唯一约束:
mysql> show index from jw_resource;
mysql> ALTER TABLE jw_resource
ADD UNIQUE KEY(resource_name, resource_type);
3.确认表结构添加约束后结果:
mysql> show create table jw_resource;
CREATE TABLE `jw_resource` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`resource_name` VARCHAR(128) DEFAULT NULL,
`resource_type` TINYINT(4) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `resource_name` (`resource_name`,`resource_type`)
) ENGINE=INNODB AUTO_INCREMENT=2 DEFAULT CHARSET=gbk;
mysql> show index from jw_resource;
注意:唯一键约束添加后,在建表的元数据中,默认的唯一键约束名称为第一列的名称。
4.添加约束后,进行插入测试效果:
msyql> INSERT INTO `jw_resource`(`resource_name`,'resource_type') values('aa','11');
msyql> INSERT INTO `jw_resource`(`resource_name`,'resource_type') values('aa','22');
msyql> INSERT INTO `jw_resource`(`resource_name`,'resource_type') values('bb','11');
msyql> INSERT INTO `jw_resource`(`resource_name`,'resource_type') values('aa','11');
5.删除唯一约束
mysql> ALTER TABLE jw_resource DROP INDEX `resource_name`;
mysql> show index from jw_resource;
注意:唯一键约束添加后,实际上建立了一个索引,将该索引删除后,就等于删除了联合唯一约束。
mysql 唯一约束_Mysql 唯一性约束添加相关推荐
- mysql中ak替换键_数据库:唯一性约束_alternate key(替换键) mySQL Oracle 数据库 ak 唯一性约束...
数据库:唯一性约束_alternate key(替换键) mySQL Oracle 数据库 ak 唯一性约束 数据库:唯一性约束 所谓唯一性约束(unique constraint)不过是数据表内替代 ...
- mysql主键约束和唯一性约束
主键约束和唯一性约束都是索引,它们的区别是: 主键字段可以确保唯一性,但主键字段不能为NULL. 唯一性约束可以确保唯一性,但唯一性约束的字段可以为NULL 唯一性约束对含有NULL的记录不起作用,即 ...
- 约束——非空约束和唯一性约束
1.什么是约束? 约束对应的英语单词:constraint 在创建表的时候,我们可以给表中的字段加上一些约束,来保证这个表中数据的 完整性.有效性!!!约束的作用就是为了保证:表中的数据有效!! 1. ...
- 【MySQL8.0学习笔记】约束:主键约束、自增长约束、非空约束、唯一性约束、默认约束与零填充约束
本文对MySQL数据库的约束相关知识进行了归纳总结,包括主键约束.自增长约束.非空约束.唯一性约束.默认约束与零填充约束. 本专栏长期更新,敬请关注. 文章目录 1 MySQL约束简介 2 主键约束 ...
- mysql中主键约束和唯一约束的区别_主键约束和唯一性约束的区别
1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键. 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空 ...
- 主键约束、唯一性约束、唯一索引
1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键. 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空 ...
- SQL Server2008创建约束图解 唯一性约束
SQL Server2008创建约束图解 复习一下数据库的约束 机房收费系统个人重构版开始了,但在设计数据库时遇到了写小麻烦,主要是数据库中约束的应用,以前在学习数据库时进行了总结,在刚开始学习时使用 ...
- 主键约束和唯一性约束的区别
主键必然是唯一且不为空,但是唯一不一定是主键,而且主键只能有一个,但是唯一约束仅仅是为了保持某些列具有唯一性而已.所以可以有多列 一张表里只能有一个主键约束,可以有多个唯一约束 主键约束的字段不能为n ...
- mysql给表加外键约束_MySQL为表添加外键约束
为表添加外键约束的语法 Alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名): 为表student ...
最新文章
- docker 导入镜像_官方下一代Docker镜像构建神器 -- BuildKit
- python汉字作为变量_在Python3x中不能使用汉字作为变量名。()
- java buffer 记事本_Java实现记事本|IO流/GUI
- JAVA学习日志(7-1-继承)
- wav2midi 音乐旋律提取算法 附可执行demo
- 组件文件已损坏或android内部模块,android - Android Q更新后,模块化系统组件在托管配置文件中不可用 - 堆栈内存溢出...
- 阿里云研究员叔同:云原生是企业数字创新的最短路径
- Python监视域名对应IP地址变化情况
- ssis t-sql返回值
- 上层应用开发是否真的没有底层开发有前途?
- 中国非制式爆炸物薄膜传感器研究取得进展
- CSDN看不见博主博客的评论_解决办法(亲测有效奥)
- jdbc连接mysql数据库,设置字符集编码
- 【Arduino+ESP32专题】PlatformIO串口监视器的默认波特率修改
- Nuxt学习(vue项目移植)
- 【Linux 用户和组】基础概念
- 傅里叶变换的完美总结【完整版】
- 2015年第一季度总结
- 【基金量化研究系列】基金绩效归因模型——Brinson多期归因模型
- GreenPlum--GPkafka使用教程
热门文章
- 你必需知道的5个开源游戏引擎
- 论文答辩问题准备(学生水平,自己准备用的,不喜勿喷)
- python3类型转换
- 【uni-app】uni-app实现聊天页面功能——功能篇(下)
- 亲测有效的清华源使用教程
- mysql table plugin,MySql报错Table mysql.plugin doesn’t exist的解决方法
- docker创建容器一直restart解决
- CMake问题:The CXX compiler identification is unknown
- 秋高气爽,静笃九月禅宗
- android+动态模糊效果,Android 动态高斯模糊效果教程