第二章 第五节 :唯一约束UNIQUE KEY

唯一约束可以保证记录的唯一性(primary key也可以,但是unique key可以存在多个)

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

举例:创建表tb5,主键id,无符号且自动编号,字段username,非空,唯一约束,字段age 无符号

CREATE TABLE tb5(

id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(20) NOT NULL UNIQUE KEY,

age SMALLINT UNSIGNED 

);

显示表t5的属性

SHOW COLUMNS FROM t5;

+----------+----------------------+------+-----+---------+----------------+
| 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    |                |
+----------+----------------------+------+-----+---------+----------------+

验证:因为id是自动编号的,所以不用输入这个字段,重复输入两个username为TOM的记录

mysql> INSERT tb5 (username,age) VALUE ('Tom',22);
Query OK, 1 row affected (0.10 sec)


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


这样就保证了TOM的记录是唯一的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值