Ao usar o char(11) no cpf, eu ainda consigo inserir valores menores que 11 caracteres, como definir que não pode ser menos ou mais caracteres que 11?
Ao usar o char(11) no cpf, eu ainda consigo inserir valores menores que 11 caracteres, como definir que não pode ser menos ou mais caracteres que 11?
Oii, Leonardo! Como você está?
Para garantir que o CPF tenha exatamente 11 caracteres no SQL Server, podemos pensar em algumas abordagens. Seguem os exemplos:
A primeira sugestão é utilizar o CHECK Constraint
na coluna para garantir que o valor inserido tenha exatamente 11 caracteres.
Até a versão 8.0.16, o MySQL não suportava diretamente a criação de restrições de verificação (CHECK constraints) que sejam aplicadas no momento da inserção ou atualização de dados, mas a partir dessa versão o suporte foi adicionado.
Outra alternativa é usar o Trigger
, que verifica o tamanho do CPF antes de inserir ou atualizar a tabela.
Espero que as sugestões te ajude. Não esqueça de estudar sobre cada uma para entender qual melhor se encaixa ao seu projeto.
Qualquer dúvida, conte conosco.
Bons estudos, Leonardo!