Để hiển thị tất cả các ràng buộc trên bảng, bạn có thể thử bất kỳ phương pháp nào sau đây -
Phương pháp 1 - Sử dụng lệnh SHOW
Bạn có thể kiểm tra với sự trợ giúp của lệnh hiển thị. Cú pháp như sau -
SHOW CREATE TABLE yourTableName;
Phương pháp 2 - Sử dụng information.schema
Bạn có thể sử dụng information.schema. Cú pháp như sau -
select COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME, REFERENCED_TABLE_NAME from information_schema.KEY_COLUMN_USAGE where TABLE_NAME = 'yourTableName';
Để hiển thị tất cả các ràng buộc trên một bảng, hãy triển khai cú pháp trên. Giả sử chúng ta đã có bảng "ConstraintDemo".
Truy vấn như sau -
mysql> select COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME, REFERENCED_TABLE_NAME −> from information_schema.KEY_COLUMN_USAGE −> where TABLE_NAME = 'ConstraintDemo';
Sau đây là đầu ra hiển thị các ràng buộc -
+-------------+-----------------+------------------------+-----------------------+ | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_COLUMN_NAME | REFERENCED_TABLE_NAME | +-------------+-----------------+------------------------+-----------------------+ | Id | PRIMARY | NULL | NULL | | Id | Id | NULL | NULL | +-------------+-----------------+------------------------+-----------------------+ 2 rows in set, 2 warnings (0.04 sec)
Bây giờ chúng ta hãy kiểm tra bằng cách sử dụng lệnh show. Truy vấn như sau -
mysql> show create table ConstraintDemo;
Sau đây là kết quả -
+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ConstraintDemo | CREATE TABLE `constraintdemo` (`Id` int(11) NOT NULL,`Name` varchar(100) NOT NULL, PRIMARY KEY (`Id`), UNIQUE KEY `Id` (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)