唯一约束(UNIQUE_KEY)

唯一约束可以保证记录的唯一性

唯一约束的字段可以为空值(NULL)

每张数据表可以存在多个唯一约束(主键只有一个)

mysql> CREATE TABLE tb7(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> username VARCHAR(20) NOT NULL UNIQUE KEY,
-> age TINYINT UNSIGNED
-> );
Query OK, 0 rows affected (0.11 sec)

mysql> SHOW COLUMNS FROM tb7;

+----------+----------------------+------+-----+---------+----------------+
| Field         | Type                       | Null    | Key  | Default  | Extra               |
+----------+----------------------+------+-----+---------+----------------+
| id             | smallint(5) unsigned | NO     | PRI  | NULL      | auto_increment|
| username  | varchar(20)             | NO     | UNI  | NULL     |                        |
| age           | tinyint(3) unsigned   | YES   |        | NULL     |                        |
+----------+----------------------+------+-----+---------+----------------+
3 rows in set (0.04 sec)

id是自动编号的字段,所以不用赋值。

mysql> INSERT tb7(username,age) VALUES('Tom',22);
Query OK, 1 row affected (0.06 sec)

username是唯一约束,存在Tom,再赋值就会出错。

mysql> INSERT tb7(username,age) VALUES('Tom',22);
ERROR 1062 (23000): Duplicate entry 'Tom' for key 'username'

 

转载于:https://www.cnblogs.com/toudoubao/p/6596617.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值