SQLUNIQUE Constraint
SQL UNIQUE Constraint
TheUNIQUE constraint ensures that all values in a column are different.
Both theUNIQUE andPRIMARY KEY constraints provide a guarantee for uniqueness for a column or set of columns.
APRIMARY KEY constraint automatically has aUNIQUE constraint.
However, you can have manyUNIQUE constraints per table, but only onePRIMARY KEY constraint per table.
SQL UNIQUE Constraint on CREATE TABLE
The following SQL creates aUNIQUE constraint on the "ID" column when the "Persons" table is created:
SQL Server / Oracle / MS Access:
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MySQL:
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
To name aUNIQUE constraint, and to define aUNIQUE constraint on multiple columns, use the following SQL syntax:
MySQL / SQL Server / Oracle / MS Access:
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
SQL UNIQUE Constraint on ALTER TABLE
To create aUNIQUE constraint on the "ID" column when the table is already created, use the following SQL:
MySQL / SQL Server / Oracle / MS Access:
ADD UNIQUE (ID);
To name aUNIQUE constraint, and to define aUNIQUE constraint on multiple columns, use the following SQL syntax:
MySQL / SQL Server / Oracle / MS Access:
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
DROP a UNIQUE Constraint
To drop aUNIQUE constraint, use the following SQL:
MySQL:
DROP INDEX UC_Person;
SQL Server / Oracle / MS Access:
DROP CONSTRAINT UC_Person;

