天天看點

第二章 第五節 :唯一限制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的記錄是唯一的。

繼續閱讀