Умови в sql - обмеження unique - мова запитів sql

обмеження UNIQUE

Обмеження UNIQUE в SQL дозволяє ідентифікувати кожну запис в таблиці.

Якщо поміщається обмеження стовпця UNIQUE в поле при створенні таблиці, база даних відхилить будь-яку спробу введення в це поле для однієї з рядків, значення, яке вже представлено в іншому рядку. Це обмеження може застосовуватися тільки до полів, які були оголошені як непусті (NOT NULL), так як не має сенсу дозволити одному рядку таблиці мати значення NULL. а потім виключати інші рядки з NULL значеннями як дублікати.

SQL Server / Oracle / Access

Приклад створення таблиці SQL з обмеженням UNIQUE:

CREATE TABLE Student

(Kod_stud integer NOT NULL UNIQUE,

Fam char (30) NOT NULL UNIQUE,

Якщо база даних визначає, що кожна спеціальність належить одному і тільки одному факультету, то кожна комбінація коду факультету (Kod_f) і коду спеціальності (Kod_spec) в таблиці Spec повинна бути унікальною. наприклад:

Обидва поля в обмеженні таблиці UNIQUE все ще використовують обмеження стовпця - NOT NULL. Якби використовувалося обмеження стовпця UNIQUE для поля Kod_spec, таке обмеження таблиці було б необов'язковим. Якщо значення поля Kod_spec різному для кожного рядка, то не може бути двох рядків з ідентичною комбінацією значень полів Kod_spec і Kod_f. Обмеження таблиці UNIQUE найбільш корисно, коли індивідуальні поля не обов'язково повинні бути унікальними.

MySQL UNIQUE

Приклад створення таблиці Persons в MySQL з обмеженням UNIQUE:

CREATE TABLE Persons (
P_Id int NOT NULL,
LastName varchar (255) NOT NULL,
FirstName varchar (255),
Address varchar (255),
City varchar (255),
UNIQUE (P_Id)
);

Видалити обмеження UNIQUE

Якщо після створення ограніченіяUNIQUE і в тому випадку, коли обмеження UNIQUE не має сенсу, UNIQUE можна видалити. Для цього використовуйте наступний SQL:

ALTER TABLE table_name DROP CONSTRAINT uc_PersonID;

ALTER TABLE table_name DROP INDEX uc_PersonID;