10. Valores únicos
Última atualização em 04 out. 2023
Existem momentos em que é necessário que um valor, de determinada coluna, nunca seja repetido, como uma chave primária, um número de documento ou um endereço de e-mail, entre outras possibilidades. A instrução PRIMARY KEY faz isso automaticamente com a coluna em que é adicionada. Nas demais colunas, é possível utilizar uma restrição de valor único, chamada de UNIQUE. Para adicionar essa restrição utilizamos a seguinte sintaxe:
CREATE TABLE nomeTabela( id INT(4) NOT NULL, atributo VARCHAR(100) NOT NULL, PRIMARY KEY (id), UNIQUE (atributo) );
Para adicionar a restrição em vários atributos utilizamos a seguinte sintaxe:
CREATE TABLE nomeTabela( id INT(4) NOT NULL, atributo1 VARCHAR(100) NOT NULL, atributo2 VARCHAR(100) NOT NULL, PRIMARY KEY (id), CONSTRAINT uniqueNome UNIQUE (atributo1, atributo2) );
E para adicionar uma restrição em uma tabela já existe:
ALTER TABLE nomeTabela ADD UNIQUE (atributo); E para adicionar várias restrições em uma tabela já existe:
ALTER TABLE nomeTabela ADD CONSTRAINT uniqueNome UNIQUE (atributo1, atributo2); Para apagar a restrição de único é necessário que a restrição seja declarada através de CONSTRAINT com nome próprio, mesmo que seja somente para um atributo.
Exemplo de criação:
ALTER TABLE nomeTabela ADD CONSTRAINT uniqueNome UNIQUE (atributo); E para apagar:
ALTER TABLE nomeTabela DROP INDEX uniqueNome;