Restrição SQL UNIQUE
Restrição SQL UNIQUE
A UNIQUE
restrição garante que todos os valores em uma coluna sejam diferentes.
As restrições UNIQUE
e
PRIMARY KEY
fornecem uma garantia de exclusividade para uma coluna ou conjunto de colunas.
Uma PRIMARY KEY
restrição automaticamente tem uma
UNIQUE
restrição.
No entanto, você pode ter muitas UNIQUE
restrições por tabela, mas apenas uma
PRIMARY KEY
restrição por tabela.
Restrição SQL UNIQUE em CREATE TABLE
O SQL a seguir cria uma UNIQUE
restrição na coluna "ID" quando a tabela "Persons" é criada:
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)
);
Para nomear uma UNIQUE
restrição e definir uma
UNIQUE
restrição em várias colunas, use a seguinte sintaxe 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)
);
Restrição SQL UNIQUE em ALTER TABLE
Para criar uma UNIQUE
restrição na coluna "ID" quando a tabela já estiver criada, use o seguinte SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD UNIQUE (ID);
Para nomear uma UNIQUE
restrição e definir uma
UNIQUE
restrição em várias colunas, use a seguinte sintaxe SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
SOLTE uma restrição ÚNICA
Para eliminar uma UNIQUE
restrição, use o seguinte SQL:
MySQL:
ALTER TABLE Persons
DROP INDEX UC_Person;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;