УНИКАЛЬНОЕ ограничение SQL
УНИКАЛЬНОЕ ограничение SQL
Ограничение UNIQUE
гарантирует, что все значения в столбце различны.
Оба ограничения UNIQUE
и
PRIMARY KEY
обеспечивают гарантию уникальности для столбца или набора столбцов.
Ограничение PRIMARY KEY
автоматически имеет
UNIQUE
ограничение.
Однако у вас может быть много UNIQUE
ограничений на таблицу, но только одно
PRIMARY KEY
ограничение на таблицу.
Ограничение SQL UNIQUE на CREATE TABLE
Следующий SQL создает UNIQUE
ограничение для столбца «ID» при создании таблицы «Persons»:
SQL Server/Oracle/MS Access:
CREATE TABLE Persons
(
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MySQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
Чтобы назвать UNIQUE
ограничение и определить
UNIQUE
ограничение для нескольких столбцов, используйте следующий синтаксис SQL:
MySQL/SQL Server/Oracle/MS Access:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
Ограничение SQL UNIQUE на ALTER TABLE
Чтобы создать UNIQUE
ограничение для столбца «ID», когда таблица уже создана, используйте следующий SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Persons
ADD UNIQUE (ID);
Чтобы назвать UNIQUE
ограничение и определить
UNIQUE
ограничение для нескольких столбцов, используйте следующий синтаксис SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
УДАЛИТЬ УНИКАЛЬНОЕ ограничение
Чтобы удалить UNIQUE
ограничение, используйте следующий SQL:
MySQL:
ALTER TABLE Persons
DROP INDEX UC_Person;
SQL Server/Oracle/MS Access:
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;