![Trending Articles on Technical and Non Technical topics](/images/trending_categories.jpeg)
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How do you get whether a column is a primary key in MySQL?
To get whether a column is a primary key, use COLUMN_NAME and COLUMN_KEY='PRI'. With that, the entire syntax is as follows −
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;
To understand the above syntax, let us create a table −
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)
Here is the query to get whether a specific column is a primary key −
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;
This will produce the following output −
+-------------+--------------------------------+ | 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)
Advertisements