¿Qué es una restricción ÚNICA?
Puede utilizar restricciones UNIQUE para garantizar que no se ingresen valores duplicados en columnas que no sean de clave principal. Aunque tanto las restricciones UNIQUE como las restricciones PRIMARYKEY imponen la unicidad, debe usar restricciones UNIQUE en lugar de restricciones PRIMARYKEY cuando desee imponer la unicidad en una columna o combinación de columnas (que no sea una clave principal).
Puedes definir múltiples restricciones UNIQUE en una tabla, pero solo puedes definir una restricción PRIMARYKEY.
Además, las restricciones UNIQUE permiten valores NULL, lo cual es diferente de las restricciones PRIMARYKEY. Sin embargo, cuando se utiliza con cualquier valor que participe en una restricción ÚNICA, solo se permite un valor nulo por columna.
Las restricciones FOREIGNKEY pueden hacer referencia a restricciones ÚNICAS.
Información ampliada:
La diferencia entre restricciones ÚNICAS y PRIMARIAS:
(1) La columna donde se ubica la restricción única permite valores nulos, pero la columna donde se encuentra la restricción de clave principal permite valores nulos. La columna no permite valores nulos. ?
(2) Puede colocar restricciones únicas en una o más columnas, y estas columnas o combinaciones de columnas deben ser únicas. Sin embargo, la columna en la que se encuentra la restricción única no es la columna de clave principal de la tabla. ?
(3) La restricción única fuerza la creación de un índice único en la columna especificada. De forma predeterminada, se crea un índice único no agrupado; sin embargo, también puede especificar que el índice creado sea un índice agrupado.
(4) El propósito de establecer una clave primaria es que las claves externas hagan referencia a ella.
(5) Una tabla puede tener como máximo una clave primaria, pero puede tener muchas claves únicas.
Enciclopedia Baidu única (función de la biblioteca de plantillas estándar STL)