PostgreSQL уникальные ограничения

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

Что такое уникальное ограничение в PostgreSQL?

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

В чем разница между уникальным ограничением и первичным ключом?

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

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

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

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

Пример

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

В этом примере мы создали уникальное ограничение для таблицы order_details под названием order_unique. Оно состоит только из одного поля - order_id.
Мы также можем создать уникальное ограничение с более чем одним полем, как в примере ниже:

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

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

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

Пример

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

В этом примере мы создали уникальное ограничение для существующей таблицы order_details с именем order_unique. Он состоит из поля с именем order_id.
Мы также можем создать уникальное ограничение с более чем одним полем, как в примере ниже:

Удалить уникальное ограничение

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

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

Пример

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

В этом примере мы отбрасываем уникальное ограничение на таблицу order_details с именем order_unique.