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

Làm thế nào để hiển thị tất cả các ràng buộc trên một bảng trong MySQL?


Để 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)