如何在 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)

相关文章