Multiple primary keys in MySQL
In this tutorial, our goal is to explore the concept of multiple primary keys for a table in MySQL. Many times, businesses and organizations have to assign certain columns as primary keys.
This primary
key has multiple uses and reasons to bother with its setting. It is essentially used to ensure that each column entry assigned as a primary key is unique.
If multiple columns have been specified as 主
keys, the combination of these values should be unique. Note that primary
a key cannot have values in its columns Null
.
If we push or insert a value in this column Null
, we will definitely get an error. Sometimes, it is necessary for organizations to get rid of this key to insert multiple similar values or null
values.
The table can have multiple 主
keys. These additional keys are called 复合主键
.
To be precise, multiple primary keys are not assigned to columns, but primary
multiple columns can be described while declaring the key. Let's understand how this key works and assign multiple columns to primary
the key.
student_details_table
Create a table in MySQL using
Before we get started, let's create a dummy dataset to work with. Here, we create a table student_details_table
and a few rows.
-- create the table student_details_table
CREATE TABLE student_details_table(
stu_id int,
stu_firstName varchar(255),
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id, stu_firstName)
);
-- insert rows to the table student_details_table
INSERT INTO student_details_table(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
As we can see, we have set stu_id
and stu_firstName
as the primary key of our table student_details
. This will ensure that there cannot be duplicate values or in this column NULL
.
The above query creates a table with rows containing first name and last name. To see the entries in the data, we use the following code.
SELECT * FROM student_details;
The above mentioned query will give the following output.
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
Use DESCRIBE
the statement to display the structure of the table in MySQL
Now let's use DESCRIBE
the statement to see if we have more than one column associated with the primary key.
DESCRIBE name_of_the_table;
In our case, we need to write the following query to know student_details_table
the details of the table.
DESCRIBE student_details_table;
This statement will help us get the complex details of the table such as the data type associated with each column, the different columns and their names, the key associated with each column, and any extra information related to the table.
Field Type Null Key Default Extra
stu_id int NO PRI
stu_firstName varchar(255) NO PRI
stu_lastName varchar(255) YES
The table above shows that the fields stu_id
and stu_firstName
are considered primary keys.
This may be required because many times, businesses need to maintain records so that there are no duplicate combinations of certain columns.
For example, suppose a product-based company needs to limit the number of customer orders and customer-related products per day.
In this case, they may need to set two primary keys as Customer ID and Product ID to match the data and perform any necessary operations without any duplicate combinations.
Therefore, with the help of the above query, we can efficiently set multiple primary keys for a table in MySQL.
For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.
Related Articles
If ELSE in MySQL
Publish Date:2025/04/11 Views:85 Category:MySQL
-
In this tutorial, we aim to explore how to use IF ELSE the statement in MySQL. One of the key roles of a data analyst is to gather insights from the data and produce meaningful results. It can be done with the help of several data filtering
DATETIME vs. TIMESTAMP in MySQL
Publish Date:2025/04/11 Views:117 Category:MySQL
-
DATETIME and TIMESTAMP are two different data types that can be used to store values that must contain both a date and a time portion. In this article, we will understand how it is stored in the database and the memory required for ea
Execute multiple joins in one query in MYSQL
Publish Date:2025/04/11 Views:94 Category:MySQL
-
Have you ever wondered how to include multiple joins in one query in MySQL? You have come to the right place. Remember that joins allow us to access information from other tables. This information is included separately to avoid redundancy.
Joining 3 tables in MySQL
Publish Date:2025/04/11 Views:187 Category:MySQL
-
In this tutorial, we will learn how to join three tables in MySQL. Businesses and organizations may have to visualize three tables simultaneously based on certain matching columns common to all three tables. This operation is allowed in MyS
Use of UPDATE JOIN in MySQL
Publish Date:2025/04/11 Views:85 Category:MySQL
-
This tutorial will explain how to use the statement in MySQL database UPDATE JOIN . We generally use joins to iterate over the rows in a particular table which may or may not have similar rows in other tables. We can UPDATE use JOIN the cla
How to use the Row_Number() function in MySQL
Publish Date:2025/04/11 Views:142 Category:MySQL
-
In this tutorial, we will explain how to use the VALUES function in MySQL ROW_NUMBER() . This is a sorting method that assigns consecutive numbers within a partition starting from 1. It is important to note that no two rows within a partiti
Displaying foreign keys in MySQL
Publish Date:2025/04/11 Views:55 Category:MySQL
-
In this tutorial, we aim to explore how to display foreign keys for tables and columns in MySQL. The type of key that references a primary key, also known as the primary key of another table, is called a foreign key. Understanding the forei
Select first N rows in MySQL
Publish Date:2025/04/11 Views:85 Category:MySQL
-
Sometimes, you have to select first N rows of MySQL database according to your project requirements. n The value of varies according to the requirement; it can be TOP 1 row or TOP 30 rows. We will learn how to select top N rows using the cl
Copying a Database in MySQL
Publish Date:2025/04/11 Views:105 Category:MySQL
-
Creating a copy of an existing database is known as the MySQL Clone method. Cloning involves creating a copy of the table structure, constraints, functions, procedures, triggers, and all functionality associated with the table in one go. Th