唯一约束可以保证记录的唯一性(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的记录是唯一的。