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

ฉันจะแสดงข้อจำกัดเฉพาะของตารางใน MySQL ได้อย่างไร


คุณแสดงข้อจำกัดเฉพาะของตารางใน MySQL ได้โดยใช้ information_schema.table_constraints

ไวยากรณ์มีดังนี้

SELECT DISTINCT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE
TABLE_NAME = ’yourTableName’ AND CONSTRAINT_TYPE = ’UNIQUE’;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางที่มีข้อจำกัด UNIQUE -

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)

ใช้ไวยากรณ์ด้านบนเพื่อแสดงชื่อของข้อจำกัดซึ่งเป็นข้อจำกัดเฉพาะจากตาราง MySQL แบบสอบถามมีดังนี้ −

mysql> select distinct CONSTRAINT_NAME
   -> from information_schema.TABLE_CONSTRAINTS
   -> where table_name = 'UniqueConstraint' and constraint_type = 'UNIQUE';

ต่อไปนี้เป็นผลลัพธ์ -

| CONSTRAINT_NAME            |
+----------------------------+
| uniqueFirstNameAndLastName |
+----------------------------+
1 row in set, 2 warnings (0.01 sec)

หากคุณต้องการแสดงข้อจำกัดทั้งหมดของตาราง MySQL ให้ใช้แบบสอบถามต่อไปนี้

mysql> SELECT DISTINCT CONSTRAINT_NAME
   -> FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
   -> WHERE CONSTRAINT_SCHEMA = 'MySQL'\G

ต่อไปนี้เป็นผลลัพธ์ -

*************************** 1. row ***************************
CONSTRAINT_NAME − PRIMARY
*************************** 2. row ***************************
CONSTRAINT_NAME − name
2 rows in set, 2 warnings (0.01 sec)