Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào chúng ta có thể áp dụng ràng buộc UNIQUE cho trường của một bảng MySQL hiện có?


Chúng ta có thể áp dụng ràng buộc DUY NHẤT cho một cột của bảng MySQL hiện có với sự trợ giúp của câu lệnh ALTER TABLE.

Cú pháp

ALTER TABLE table_name MODIFY colum_name datatype UNIQUE;
                    OR
ALTER TABLE table_name ADD UNIQUE (colum_name);

Ví dụ

Giả sử chúng ta có bảng sau có tên là ‘Test4’ và chúng ta muốn thêm ràng buộc DUY NHẤT vào cột ‘Tên’ thì việc này có thể được thực hiện với sự trợ giúp của lệnh ALTER TABLE như sau -

mysql> DESCRIBE test4;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

mysql> ALTER TABLE test4 MODIFY Name Varchar(20) UNIQUE;
Query OK, 0 rows affected (0.22 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> DESCRIBE test4;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  | UNI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

Từ tập kết quả ở trên, có thể thấy rằng MySQL đã thêm một ràng buộc DUY NHẤT vào ‘Tên’ được lưu trữ. Chúng ta cũng có thể thêm ràng buộc DUY NHẤT với truy vấn sau -

mysql> Alter table test4 add UNIQUE(name);
Query OK, 0 rows affected (0.16 sec)
Records: 0 Duplicates: 0 Warnings: 0