加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

MySQL第一无二束缚

发布时间:2021-05-18 03:26:59 所属栏目:编程 来源:互联网
导读:独一束缚与主键束缚相似的是它们都可以确保列的独一性。差异的是,独一束缚在一个表中可有多个,而且配置独一束缚的列应承有空值,可是只能有一个空值。而主键约
独一束缚与主键束缚相似的是它们都可以确保列的独一性。差异的是,独一束缚在一个表中可有多个,而且配置独一束缚的列应承有空值,可是只能有一个空值。而主键束缚在一个表中只能有一个,且不应承有空值。好比,在用户信息表中,为了停止表顶用户名重名,可以把用户名配置为独一束缚。 在建设表时配置独一束缚 独一束缚可以在建设表时直接配置,凡是配置在除了主键以外的其余列上。

在界说完列之后直接行使 UNIQUE 要害字指定独一束缚,语法名目如下:

<字段名> <数据范例> 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 中删除独一束缚的语法名目如下:

ALTER TABLE <表名> DROP INDEX <独一束缚名>;

例 3 删除数据表 tb_dept1 中的独一束缚 unique_name,SQL 语句和运行功效如下所示。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读