JIYIK CN >

Current Location:Home > Learning > DATABASE > MySQL >

Specifying unique constraints for multiple columns in MySQL

Author:JIYIK Last Updated:2025/04/23 Views:

This article will explore the methods of specifying unique constraints for multiple columns in MySQL.


Specifying unique constraints for multiple columns in MySQL

You may sometimes want to guarantee that every value in a column or set of columns is distinct.

For example, user email addresses in an employee database or customer phone numbers in a customer table should be different. A unique constraint is used to enforce this rule.

An integrity constraint called UNIQUE ensures that each value in a column or combination of columns is distinct. Either a table constraint or a column constraint can be a unique constraint.

grammar:

CREATE TABLE table_name(
    column_name data_type UNIQUE,
);

In the above syntax, the column specification for which you wish to impose a uniqueness rule includes the UNIQUE keyword. If you insert or update a value that results in a duplicate column name, MySQL rejects the modification and generates an error.

Column constraints are used in this UNIQUE constraint. Also, it can be used to enforce unique rules for a single column.

The following syntax is used to create a UNIQUE constraint for two or more columns:

grammar:

CREATE TABLE table_name(
   column_name1 data_type,
   column_name2 data_type,
   UNIQUE(column_name1,column_name2)
);

MySQL ALTER TABLE command can be used to add, modify, or delete/remove columns in a table. If the column already exists but does not have a unique constraint, then the ADD UNIQUE command can add a unique constraint.

Use the following syntax to create a unique constraint for two or more columns.

grammar:

ALTER TABLE table_name ADD UNIQUE column_name;
ALTER TABLE table_name ADD UNIQUE `index_name`(column_name1, column_name2);

To further understand the previous concepts, consider the following example:

CREATE TABLE Employees(
    email varchar(255) UNIQUE,
    first_Name VARCHAR(255),
    last_Name VARCHAR(255)
);
CREATE TABLE EmployeeDepartment(
   email varchar(255),
   department varchar(255),
   UNIQUE(email,department)
);
-- If the Employees table does not have a unique email constraint
ALTER TABLE EmployeeDepartment ADD UNIQUE email;
-- If the EmployeeDepartment table does not have a unique constraint
ALTER TABLE EmployeeDepartment ADD UNIQUE `unique_department_emp`(email,department);

In the first example above, we created a database called Employees that contained the attributes email, first_Name, and last_Name. If you change or edit a value that duplicates data in the email column, an error will be generated.

We will use the keyword UNIQUEEmail to designate it as a unique column.

Like the first one, we created an EmployeeDepartment table with variables email and department. If you insert or change a value that duplicates the data in the email+department columns, an error will be generated.

We will use the keyword UNIQUE to make the combination of email and department a unique column.

You can modify an existing table by similarly adding a new unique constraint.

Run the above line of code in any browser compatible with MySQL. It will display the following result:

Query executed successfully.

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.

Article URL:

Related Articles

Display tables and database structure in MySQL

Publish Date:2025/04/23 Views:97 Category:MySQL

Today, we will learn about queries in MySQL that can display the table and database structure. We will use the mysqldump utility, DESCRIBE the , SHOW TABLES and SHOW CREATE TABLE the statements. We are using MySQL version 8.0.28 while writi

Select first row from MySQL table

Publish Date:2025/04/23 Views:112 Category:MySQL

Today, we will explore three scenarios and their solutions where we want to select the first row from a MySQL table. In the first scenario, we will learn to get the first row from a MySQL table where there are multiple instances of a partic

Insert timestamp into MySQL table

Publish Date:2025/04/23 Views:77 Category:MySQL

Today, we will learn how to TIMESTAMP insert date and time into a type column of a MySQL table according to the table definition. Create a MySQL table First, we will create the tables that we will use in this tutorial. Sample code: CREATE T

The difference between two tables in MySQL

Publish Date:2025/04/23 Views:102 Category:MySQL

In this article, we will learn how to find the difference between two tables in MySQL. The difference between two tables in MySQL We often need to compare two tables to find records in one table that have no matching records in the other ta

MySQL sorts data alphabetically

Publish Date:2025/04/23 Views:129 Category:MySQL

In this article, we will learn about various ways to sort data alphabetically in MySQL. Sort MySQL data alphabetically When you use the SELECT command to query data from a table, the rows in the result set are in arbitrary order. To order t

Display the current database in MySQL

Publish Date:2025/04/23 Views:199 Category:MySQL

This article focuses on the various queries that can be used to display the current database in MySQL. We will learn by using the Windows command line and MySQL Workbench. Display the current database in MySQL We can use the following query

Check if a database exists in MySQL

Publish Date:2025/04/23 Views:179 Category:MySQL

In this article, we will introduce many ways to check if a database exists in MySQL. Check if the database exists in MySQL The system schema is the schema that MySQL uses. It includes tables that contain data needed by a running MySQL serve

Get the sum of multiple columns in MySQL

Publish Date:2025/04/23 Views:125 Category:MySQL

In this article, we will learn how to sum multiple columns in MySQL. Sum multiple columns in MySQL You can use aggregate functions SUM() to calculate the total value in a collection. SUM() The function calculation does not consider NULL val

MySQL ForEach Loop

Publish Date:2025/04/23 Views:164 Category:MySQL

This article describes how to simulate a foreach loop in MySQL using INSERT, SELECT, WHERE, and JOIN in one statement. MySQL foreach loop To understand foreach loop simulation, let us create three tables with the following names and attribu

Scan to Read All Tech Tutorials

Social Media
  • https://www.github.com/onmpw
  • qq:1244347461

Recommended

Tags

Scan the Code
Easier Access Tutorial