Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีดู Constraints ทั้งหมดของตารางใน MySQL

วิธีที่ 1: ใช้คำสั่ง SHOW CREATE TABLE

วิธีที่ง่ายและรวดเร็วที่สุดคือใช้คำสั่ง SHOW เพื่อดูโครงสร้างตารางรวมถึง constraints

SHOW CREATE TABLE yourTableName;

วิธีที่ 2: ใช้ information_schema.KEY_COLUMN_USAGE

วิธีนี้ให้ข้อมูลละเอียดเกี่ยวกับ Foreign Key และ constraints อื่นๆ

SELECT COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME, REFERENCED_TABLE_NAME
FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'yourTableName';

ตัวอย่างการใช้งานกับตาราง ConstraintDemo

mysql> SELECT COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME, REFERENCED_TABLE_NAME
    -> FROM information_schema.KEY_COLUMN_USAGE
    -> WHERE TABLE_NAME = 'ConstraintDemo';
+-------------+-----------------+------------------------+-----------------------+
| 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)

ตรวจสอบด้วย SHOW CREATE TABLE

mysql> SHOW CREATE TABLE ConstraintDemo;
+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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)

สรุป: SHOW CREATE TABLE ให้ภาพรวมโครงสร้างตารางทั้งหมด ส่วน information_schema.KEY_COLUMN_USAGE เน้นรายละเอียด constraints และ foreign key references