Unique Constraints MySQL

В этом учебном пособии вы узнаете, как создавать, добавлять и удалять Unique Constraints (уникальные ограничения) в MySQL с синтаксисом и примерами.

Описание

Unique Constraints - это одно поле или комбинация полей, которые определяют уникальную запись. Некоторые из полей могут содержать нулевые значения, если комбинация значений уникальна.

В чем разница между Unique Constraints и Primary Key?

Primary Key
Поля, которые являются частью первичного ключа, не могут содержать значение Null.
Unique Constraints
Некоторые из полей, которые являются частью уникального ограничения, могут содержать значения Null, если комбинация значений уникальна.

Создание Unique Constraint c использованием оператора CREATE TABLE

Синтаксис для создания уникального ограничения с использованием оператора CREATE TABLE в MySQL:

CREATE TABLE table_name
(
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
...

CONSTRAINT constraint_name UNIQUE (uc_col1, uc_col2, ... uc_col_n)
);

Параметры или аргументы

table_name - имя таблицы, которую вы хотите создать.
column1, column2 - столбцы, которые вы хотите создать в таблице.
constraint_name - имя уникального ограничения.
uc_col1, uc_col2, ... uc_col_n - столбцы, которые составляют уникальное ограничение.

Пример

Рассмотрим пример создания уникального ограничения в MySQL с помощью оператора CREATE TABLE.

В этом примере мы создали уникальное ограничение в таблице contacts, называемое contact_unique. Оно состоит только из одного поля - contact_id.

Мы могли бы также создать уникальное ограничение с несколькими полями, как в приведенном ниже примере:

Создание Unique Constraint с использованием оператора ALTER TABLE

Синтаксис для создания уникального ограничения с использованием оператора ALTER TABLE в MySQL:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);

Параметры или аргументы

table_name - имя таблицы для изменения. Это таблица, к которой вы хотите добавить уникальное ограничение.
constraint_name - имя уникального ограничения.
column1, column2, ... column_n - столбцы, которые составляют уникальное ограничение.

Пример

Рассмотрим пример того, как добавить уникальное ограничение в существующую таблицу в MySQL, используя оператор ALTER TABLE.

В этом примере мы создали уникальное ограничение для существующей таблицы contacts, называемое contact_unique. Оно состоит из поля, с именем reference_number.

Мы могли бы также создать уникальное ограничение с несколькими полями, как в приведенном ниже примере:

Удаление Unique Constraint

Синтаксис для удаления уникального ограничения в MySQL:

ALTER TABLE table_name
DROP INDEX constraint_name;

Параметры или аргументы

table_name - имя таблицы для изменения. Это таблица, из которой вы хотите удалить уникальное ограничение.
constraint_name - имя уникального ограничения для удаления.

Пример

Рассмотрим пример того, как удалить уникальное ограничение из таблицы в MySQL.

В этом примере мы удаляем уникальное ограничение в таблице contacts, называемое contact_unique.