Умови в 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;