คุณแสดงข้อจำกัดเฉพาะของตารางใน 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)