SQL - Restricción ÚNICA

La restricción UNIQUE evita que dos registros tengan valores idénticos en una columna. En la tabla CLIENTES, por ejemplo, es posible que desee evitar que dos o más personas tengan la misma edad.

Ejemplo

Por ejemplo, la siguiente consulta SQL crea una nueva tabla denominada CLIENTES y agrega cinco columnas. Aquí, la columna EDAD se establece en ÚNICA, por lo que no puede tener dos registros con la misma edad.

CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL UNIQUE,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

Si la tabla CLIENTES ya se ha creado, agregue una restricción ÚNICA a la columna EDAD. Escribiría una declaración como la consulta que se da en el bloque de código a continuación.

ALTER TABLE CUSTOMERS
   MODIFY AGE INT NOT NULL UNIQUE;

También puede usar la siguiente sintaxis, que también admite nombrar la restricción en varias columnas.

ALTER TABLE CUSTOMERS
   ADD CONSTRAINT myUniqueConstraint UNIQUE(AGE, SALARY);

Suelta una restricción ÚNICA

Para eliminar una restricción ÚNICA, utilice la siguiente consulta SQL.

ALTER TABLE CUSTOMERS
   DROP CONSTRAINT myUniqueConstraint;

Si está utilizando MySQL, puede utilizar la siguiente sintaxis:

ALTER TABLE CUSTOMERS
   DROP INDEX myUniqueConstraint;
sql-rdbms-conceptos.htm