如何判断 MySQL 中的一列是否为主键?


若要判断一列是否为主键,请使用 COLUMN_NAME 和 COLUMN_KEY='PRI'。语法如下所示 −

select column_name, case when column_key= 'PRI' then 'yourMessage1' else ''yourMessage2' end as anyAliasName
from information_schema.columns
where table_schema =database()
and `table_name` = yourTableName
order by `table_name`, ordinal_position;

要了解上述语法,我们创建一个表 −

mysql> create table DemoTable1886
   (
   Id int NOT NULL,
   FirstName varchar(20),
   LastName varchar(20),
   Age int,
   DateOfBirth datetime,
   Education varchar(40),
   PRIMARY KEY(Id)
   );
Query OK, 0 rows affected (0.00 sec)

以下是查询特定列是否为主键的方法 −

mysql> select column_name, case when column_key= 'PRI' then 'This is a Primary key Column' else 'This is not a Primary key Column' end as Output
   from information_schema.columns
   where table_schema =database()
   and `table_name` = 'DemoTable1886'
   order by `table_name`, ordinal_position;

这将生成以下输出 −

+-------------+--------------------------------+
| COLUMN_NAME | Output                         |
+-------------+--------------------------------+
| Id          | This is a Primary key Column   |
| FirstName   |This is not a Primary key Column|
| LastName    |This is not a Primary key Column|
| Age         |This is not a Primary key Column|
| DateOfBirth |This is not a Primary key Column|
| Education   |This is not a Primary key Column|
+-------------+--------------------------------+
6 rows in set (0.00 sec)

更新于:2019-12-27

356 次阅读

开启你的 职业生涯

完成课程并获得认证

开始学习
广告