A restrição única garante que quase todos os elementos em um campo são distintos um do outro. Para um campo ou grupo de campos, os limites -chave exclusivos e primários têm uma garantia de individualidade. Podemos, no entanto, ter várias restrições únicas em cada tabela, embora um limite principal principal para cada tabela. Vamos aprender tentando alguns exemplos.
Restrição única via Workbench:
Primeiro de tudo, temos que aprender sobre como adicionar restrições exclusivas à mesa enquanto estiver usando o MySQL Workbench 8.0. Abra seu recém -instalado MySQL Workbench 8.0 e conecte -o ao banco de dados.
Na área de consulta, você deve escrever o comando abaixo para criar uma tabela 'pessoa'. Esta tabela possui 4 colunas com uma chave primária. Temos que especificar uma coluna única. Como você pode ver, limpamos a coluna 'ID' como a coluna 'exclusiva':
>> Crie a pessoa da tabela (Id int Primary Key Not NULL, SaltName Varchar (255) NÃO NULL, FirstName Varchar (255), Age Int, exclusivo (ID));
Agora a tabela "pessoa" foi criada com sua coluna "única" "id". Você pode encontrar a tabela sob o "navegador" e "esquemas" enquanto listado na opção "Tabelas".
Ao inserir os registros, ao tocar no botão "Aplicar", ele revisará os registros inseridos, como mostrado abaixo. Você pode ver que temos um recorde duplicado nas linhas 3 e 4 que tem o mesmo "id". Toque no botão "Aplicar" para aplicar alterações.
Na imagem abaixo, está gerando um erro que a coluna "ID" duplicou, que é o valor "13".
Depois de corrigir o registro, ao aplicar as alterações, ele funcionará corretamente.
Restrição única via shell da linha de comando:
No shell da linha de comando MySQL, adicionaremos teclas exclusivas a uma ou várias colunas. Abra sua linha de comando primeiro para ter um vislumbre de cada um nos exemplos abaixo. Digite sua senha para usar o shell de comando.
Exemplo 01: na coluna única
Dentro desta sintaxe, como na especificação da coluna, usamos o termo exclusivo que você gostaria de aplicar a lei de singularidade. Depois de inserir ou alterar um valor que cria duplicatas na coluna em particular, a modificação será recusada por MySQL e uma exceção será dada também. Haverá uma restrição de coluna neste limite específico. E você pode usar isso para implementar a regra única de um campo também. Aqui está uma sintaxe para uma chave única de coluna única:
>> Crie tabela tabela_name (color Datatype exclusivo, colet Datatype);
Vamos criar uma tabela "fornecedor" no banco de dados "dados" com três colunas. A coluna "ID" é definida como "única".
>> Crie dados da tabela.Fornecedor (ID int Auto_increment Not NULL exclusivo, nome Varchar (50) não nulo, área varchar (50));
Ao verificar, você pode ver a tabela ainda não tem registros.
>> Selecione * FROM dados.fornecedor;
Vamos inserir os registros na tabela. O primeiro registro será inserido na tabela sem problemas, como mostrado abaixo.
O segundo registro será inserido suavemente novamente, pois não possui valores duplicados na coluna "ID". Por outro lado, está assumindo o mesmo valor que usa na primeira consulta na coluna “área”.
Ao inserir o terceiro registro, fornecemos o valor duplicado "1", como fornecemos na primeira declaração de inserção. Ele gerará um erro de que a coluna "id" está recebendo um valor duplicado, como mostrado na imagem abaixo.
Enquanto verifica novamente, você pode ver que a tabela tem apenas o registro das duas primeiras declarações de inserção. Embora não haja registro da terceira declaração de inserção.
>> Selecione * FROM dados.fornecedor;
Exemplo 02: em várias colunas
Com este formato, após o termo exclusivo, aplicamos um conjunto de colunas separado por vírgula entre parênteses. A composição dos valores no campo col1 e col2 é usada por mysql para determinar a singularidade.
>> Criar tabela Tabela_name (col1 datatype, col2 datatype, exclusivo (col1, col2));
Temos criado uma tabela "ministro" no banco de dados "dados" com cinco colunas. A coluna "ID" é definida como "única" e "primária". A palavra -chave "restrição" é usada para nomear uma restrição de chave única como "uc_add_sal". A palavra -chave "exclusiva" é usada para definir uma restrição única nas colunas especificadas nos colchetes, e.g., Endereço e "salário". Agora temos um total de três colunas com restrição "única" sobre eles.
>> Crie dados da tabela.Ministro (Int Int Auto_increment Primária Chave NÃO NULL, Nome Varchar (50) Não NULL, Endereço Varchar (50), Job Varchar (50), Salário Varchar (50), Restrição UC_ADD_SAL ÚNICO (Endereço, Salário));
Ao verificar a mesa, você pode ver a tabela está vazia agora.
>> Selecione * FROM dados.ministro;
Vamos inserir alguns registros nele. O primeiro registro será adicionado à tabela com sucesso, porque é a primeira linha e não há linha a ser comparada com.
Insira outro registro exclusivo sem valores duplicados em qualquer coluna, como mostrado abaixo.
Não afeta quando entramos nos valores duplicados para as colunas que não têm restrição "única" sobre eles. Dê uma olhada na consulta abaixo. Tem um valor duplicado na coluna "Nome" e "Job". Funciona corretamente porque essas duas colunas não têm restrição "única" definida nelas.
Por outro lado, quando inserimos o valor duplicado, e.g., "13" e "Rawalpindi", ele gerará um erro, como mostrado abaixo. Isso ocorre porque "13" e "Rawalpindi" foram especificados anteriormente.
Na verificação, temos apenas três registros na tabela, inseridos pelas três primeiras consultas.
>> Selecione * FROM dados.ministro;
Conclusão:
Fizemos graciosamente todos os exemplos de definir restrições únicas nas colunas únicas e múltiplas enquanto usam o MySQL Workbench 8.0 e shell do cliente da linha de comando mysql. Felizmente, você não terá problemas ao resolver problemas relacionados a chaves únicas.