如何在任何MySQL数据库表中识别复合主键?

您可以使用聚合函数count(*)。如果返回的值大于1,则表示该表具有复合主键。

让我们首先创建一个表-

create table DemoTable1324
   -> (
   -> StudentId int,
   -> StudentName varchar(20),
   -> StudentAge int,
   -> StudentCountryName varchar(20)
   -> );

这是添加复合主键的查询-

alter table DemoTable1324 ADD CONSTRAINT constr_IdAgeCountry PRIMARY KEY (StudentId, StudentAge,StudentCountryName);
Records: 0 Duplicates: 0 Warnings: 0

以下是在任何MySQL数据库表中标识复合主键的查询-

select count(*) AS Total
   -> from information_schema.KEY_COLUMN_USAGE
   -> where table_name='DemoTable1324' and table_schema=database();

这将产生以下输出-

+-------+
| Total |
+-------+
|     3 |
+-------+
1 row in set, 2 warnings (0.76 sec)