如何在 MySQL 中显示表的唯一约束?
mysqlmysqli database
您可以使用 information_schema.table_constraints 显示 MySQL 中表的唯一约束。
语法如下。
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)