如何识别任何 MySQL 数据库表的复合主键?
你可以使用聚合函数 count(*)。如果它返回的值大于 1,那就意味着表有复合主键。
我们首先创建一个表 −
mysql> create table DemoTable1324 -> ( -> StudentId int, -> StudentName varchar(20), -> StudentAge int, -> StudentCountryName varchar(20) -> ); Query OK, 0 rows affected (0.52 sec)
以下是添加复合主键的查询 −
mysql> alter table DemoTable1324 ADD CONSTRAINT constr_IdAgeCountry PRIMARY KEY (StudentId, StudentAge,StudentCountryName); Query OK, 0 rows affected (1.29 sec) Records: 0 Duplicates: 0 Warnings: 0
以下是识别任何 MySQL 数据库表中复合主键的查询 −
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)
广告