Như tên gọi, ràng buộc UNIQUE trong MySQL đảm bảo tính duy nhất của một cột trong bảng, không cho phép chèn giá trị trùng lặp. Về bản chất, UNIQUE tạo ra một index mà tất cả giá trị trong cột index phải duy nhất. Một bảng MySQL có thể có nhiều cột UNIQUE.
Áp dụng khi tạo bảng (CREATE TABLE)
Cách 1: Khai báo ngay ở định nghĩa cột
mysql> CREATE TABLE test3(ID INT UNIQUE, Name VARCHAR(20)); Query OK, 0 rows affected (0.16 sec) mysql> DESCRIBE test3; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID | int(11) | YES | UNI | NULL | | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+
Cách 2: Khai báo ở cuối danh sách cột
mysql> CREATE TABLE test4(ID INT, Name VARCHAR(20), UNIQUE(ID)); Query OK, 0 rows affected (0.15 sec) mysql> DESCRIBE test4; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID | int(11) | YES | UNI | NULL | | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+
Cả hai cách đều tạo index UNIQUE trên cột ID.