Bạn có thể hiển thị các ràng buộc duy nhất của một bảng trong MySQL bằng information_schema.table_constraints.
Cú pháp như sau.
SELECT DISTINCT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = ’yourTableName’ AND CONSTRAINT_TYPE = ’UNIQUE’;
Để hiểu cú pháp trên, chúng ta hãy tạo một bảng với ràng buộc DUY NHẤT -
mysql> create table UniqueConstraint -> ( -> Id int, -> FirstName varchar(30), -> LastName varchar(30), -> constraint uniqueFirstNameAndLastName UNIQUE(FirstName,LastName) -> ); Query OK, 0 rows affected (0.74 sec)
Thực hiện cú pháp trên để hiển thị tên của ràng buộc là một ràng buộc duy nhất từ một bảng MySQL. Truy vấn như sau -
mysql> select distinct CONSTRAINT_NAME -> from information_schema.TABLE_CONSTRAINTS -> where table_name = 'UniqueConstraint' and constraint_type = 'UNIQUE';
Sau đây là kết quả -
| CONSTRAINT_NAME | +----------------------------+ | uniqueFirstNameAndLastName | +----------------------------+ 1 row in set, 2 warnings (0.01 sec)
Nếu bạn muốn hiển thị tất cả các ràng buộc của bảng MySQL, hãy sử dụng truy vấn sau.
mysql> SELECT DISTINCT CONSTRAINT_NAME -> FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS -> WHERE CONSTRAINT_SCHEMA = 'MySQL'\G
Sau đây là kết quả -
*************************** 1. row *************************** CONSTRAINT_NAME − PRIMARY *************************** 2. row *************************** CONSTRAINT_NAME − name 2 rows in set, 2 warnings (0.01 sec)