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