方法:1、创建表时,使用“CREATE TABLE 表名(字段名 数据类型 UNIQUE);”语句来添加;2、修改表时,使用“ALTER TABLE 表名 ADD CONSTRAINT 唯一约束名 UNIQUE(列名);”语句来添加。

MySQL 唯一约束(Unique Key)是指所有记录中字段的值不能重复出现。例如,为 id 字段加上唯一性约束后,每条记录的 id 值都是唯一的,不能出现重复的情况。如果其中一条记录的 id 值为‘0001’,那么该表中就不能出现另一条记录的 id 值也为‘0001’。

唯一约束与主键约束相似的是它们都可以确保列的唯一性。不同的是,唯一约束在一个表中可有多个,并且设置唯一约束的列允许有空值,但是只能有一个空值。而主键约束在一个表中只能有一个,且不允许有空值。比如,在用户信息表中,为了避免表中用户名重名,可以把用户名设置为唯一约束。

在创建表时设置唯一约束

唯一约束可以在创建表时直接设置,通常设置在除了主键以外的其它列上。

在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法格式如下:CREATE TABLE ( UNIQUE);

例 1

创建数据表 tb_dept2,指定部门的名称唯一,SQL 语句和运行结果如下所示。mysql> CREATE TABLE tb_dept2

-> (

-> id INT(11) PRIMARY KEY,

-> name VARCHAR(22) UNIQUE,

-> location VARCHAR(50)

-> );

Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_dept2;

+----------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+----------+-------------+------+-----+---------+-------+

| id | int(11) | NO | PRI | NULL | |

| name | varchar(40) | YES | UNI | NULL | |

| location | varchar(50) | YES | | NULL | |

+----------+-------------+------+-----+---------+-------+

3 rows in set (0.08 sec)

在修改表时添加唯一约束

在修改表时添加唯一约束的语法格式为:ALTER TABLE ADD CONSTRAINT UNIQUE();

例 2

修改数据表 tb_dept1,指定部门的名称唯一,SQL 语句和运行结果如下所示。mysql> ALTER TABLE tb_dept1

-> ADD CONSTRAINT unique_name UNIQUE(name);

Query OK, 0 rows affected (0.63 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> DESC tb_dept1;

+----------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+----------+-------------+------+-----+---------+-------+

| id | int(11) | NO | PRI | NULL | |

| name | varchar(22) | NO | UNI | NULL | |

| location | varchar(50) | YES | | NULL | |

+----------+-------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

MySQL使用什么关键字添加唯一约束_mysql怎么添加唯一约束?相关推荐

  1. mysql 唯一编号_Mysql表中唯一编号的分配机制

    最近遇到一个问题:高并发环境下,如何避免MYSQL一张表里的某些列不要重复. 方式一:使用Mysql自带的列唯一索引(Unique) 可以在声明表的时候就加入这样一个约束(下面是mysql的语法): ...

  2. mysql添加临时索引_mysql 中添加索引的三种方法

    在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...

  3. 使用mysql创建外键约束_Mysql创建外键约束的两种方式

    通过给mysql的表字段添加外键约束,可以有效的保持数据的一致性和完整性,数据就不会很容易出问题. 1.创建表时直接创建外键约束create table books( bookid number(10 ...

  4. mysql 获取唯一值_mysql 获取全局唯一值

    在涉及数据库存储数据的时候,经常会遇到唯一值问题,有的是主键带来的限制,有的则是业务上的需要. 下面介绍几种唯一值的获取或者生产方法: 先建一个测试用的表tbl_user,有三个字段:Id.Name. ...

  5. mysql 获取唯一值_mysql获取全局唯一值_MySQL

    bitsCN.com 在涉及数据库存储数据的时候,经常会遇到唯一值问题,有的是主键带来的限制,有的则是业务上的需要. 下面介绍几种唯一值的获取或者生产方法: 先建一个测试用的表tbl_user,有三个 ...

  6. php mysql 唯一值_mysql 获取全局唯一值_MySQL

    bitsCN.com 在涉及数据库存储数据的时候,经常会遇到唯一值问题,有的是主键带来的限制,有的则是业务上的需要. 下面介绍几种唯一值的获取或者生产方法: 先建一个测试用的表tbl_user,有三个 ...

  7. mysql联合唯一约束_MySQL中添加唯一约束和联合唯一约束

    在MySQL数据库中,经常会碰到由于业务需要添加唯一键约束,唯一键约束,可以在一个列上添加约束,也可以在多个列上添加唯一约束. 一.单列唯一约束 在一列上添加唯一约束,主要是让该列在表中只能有唯一的一 ...

  8. mysql数据库如何添加外键约束_MySQL数据库之外键约束的简单理解

    定义 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键.由此可见,外键表示了两个关系之间的相关联系.以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的 ...

  9. mysql添加表字段_mysql命令添加表字段

    常用的通过mysql命令来更改表结构的一些sql语句,包括添加.删除.修改字段.调整字段顺序. 添加字段: alter table `user_movement_log` Add column Gat ...

最新文章

  1. axure中怎么把图片变圆_orcad中怎么创建带图片的Title Block?
  2. linux shell 通过 第三方 网站 网页 得到 外网 公网 ip
  3. 王爽汇编习题 : 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 ___ 到 ____。
  4. java在控制台输出空心正方形,菱形,空心菱形
  5. Zend Famework 2 | 如何在自定义类中使用Service Manager
  6. 品优购电商系统 1 - 分布式框架Dubbox
  7. vc开发记牌器的两种思路
  8. ajax不执行回调函数的原因
  9. C语言:error C2084 函数“”已有主体
  10. 常见的会员积分系统都有什么样的功能?
  11. android卡在开机画面,请教:用迅为4412开发板开机时卡在Android静止画面
  12. 花了一年时间开发的YBC管型三维预览控件
  13. MapReduce 编程实例:词频统计
  14. 怎么把在线网站保存的flv格式转换成mp4
  15. zookeeper初步
  16. uniapp 顶部绝对定位
  17. C++中相对路径与绝对路径以及斜杠与反斜杠的区别
  18. CAD保存高版本的dwg(网页版)
  19. C/C++使用Quirc库解析二维码(QRcode)
  20. 视频格式不符合怎么办?怎样进行视频格式转换?

热门文章

  1. iPhone、iPad明年或采用USB-C接口;虎牙回应央视点名网课内容充斥广告;Rust 1.44.0 发布| 极客头条...
  2. Google 向 Android 开发者支付了 800 亿美元,却仍不及苹果!
  3. 刚在乌镇夺魁的飞桨,又将在“WAVE SUMMIT+”深度学习开发者峰会带来哪些惊喜?...
  4. 苹果或推中国特色版 iPhone;小米回应萌拍抄袭苹果事件;微软停止审核发布 Windows Phone 8.x | 极客头条...
  5. Python 爬取了猫眼 47858 万条评论,告诉你《飞驰人生》值不值得看?!
  6. 前方 Bug 出没?盘他!
  7. 董明珠给格力员工加薪 10 亿;张小龙回应微信 7.0 界面变丑;库克怒怼高通 | 极客头条...
  8. 错乱的 Windows 10
  9. 如何利用机器学习算法解读股市行情?
  10. IT工程师志强追剧《延禧攻略》后,竟然……