Jump to content

Question

Preciso verificar no cadastro de clientes se já possui o campo CNPJ cadastrado, onde CNPJ = $objCliente->CNPJ   == sql - Tabela: tb_cliente -> de_cnpj varchar(20) etc...

uso o phpmyadmin como gerenciador de BD, não consigo tornar Unico da este erro:

Erro

Comando SQL:

 

ALTER TABLE tb_cliente ADD UNIQUE INDEX UK_cnpj (de_cnpj)

 

Mensagens do MySQL : Documentação

#1062 - Duplicate entry '' for key 'UK_cnpj'

 

---------------------------------------------------------

 

Aguardo resposta obrigado !!! 

 

(Preciso do código já pronto se possível)

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Verifica se existe valores repetidos cadastrados e depois de apagar os mesmos, tente novamente.

Share this post


Link to post
Share on other sites
  • 0
3 minutos atrás, jamesbond disse:

Verifica se existe valores repetidos cadastrados e depois de apagar os mesmos, tente novamente.

ALTER TABLE `tb_cliente` ADD UNIQUE(`de_cnpj`);

 

Mensagens do MySQL : Documentação

#1062 - Duplicate entry '' for key 'de_cnpj'

 

O Erro permanece, já verifiquei 

Share this post


Link to post
Share on other sites
  • 1

 

7 minutos atrás, rafinha_sam disse:

ALTER TABLE `tb_cliente` ADD UNIQUE(`de_cnpj`);

 

Mensagens do MySQL : Documentação

#1062 - Duplicate entry '' for key 'de_cnpj'

 

O Erro permanece, já verifiquei 

 

Então é pq tem valor repetido. E a mensagem de erro já está até te dizendo qual é o valor que repete, valor vazio ('').

Se você precisa que esta coluna seja uma UNIQUE, nenhum valor pode se repetir, nem mesmo VAZIO.

Share this post


Link to post
Share on other sites
  • 0
9 minutos atrás, Prog disse:

 

 

Então é pq tem valor repetido. E a mensagem de erro já está até te dizendo qual é o valor que repete, valor vazio ('').

Se você precisa que esta coluna seja uma UNIQUE, nenhum valor pode se repetir, nem mesmo VAZIO.

Perfeito amigo, em relação a isso eu consegui. Mas não irei utilizar UNIQUE pois tenho duas opção de cadastro com CPF e CNPJ  ( PJ e PF ) então sempre um ou outro irá ficar vazio... 

---------------------------

Mas o que exatamente preciso é :

Antes de cadastrar um Cliente preciso verificar se aquele CNPJ que o usuario vai digitar para cadastra-lo já possui no banco de dados, onde CNPJ = $objCliente->CNPJ   == sql - Tabela: tb_cliente -> de_cnpj varchar(20) etc... se estiver cadastrado mostrar um alert, caso o contrario conclua o cadastro.

Uso o PhpMyAdmin como gerenciador de banco de dados.

Share this post


Link to post
Share on other sites
  • 0

Faz uma consulta antes de cadastrar checando se já existe alguém com esses dados.

Share this post


Link to post
Share on other sites
  • 0
Agora, jamesbond disse:

Faz uma consulta antes de cadastrar checando se já existe alguém com esses dados.

Qual codigo utilizarei para checar e para realizar a ação se já tiver cadastrado aparecer um ALERT ("Cliente já cadastrado") e apagar o campo CNPJ para ele digitar novamente? 

Share this post


Link to post
Share on other sites
  • 0

Ah, o código é mole. O conteúdo mais fácil ainda.

Pesquise sobre PDO + (Ajax ou Jquery para verificar após o usuário digitar)

e caso não tenha noções de Mysql pesquise sobre também.

Até mais e bons estudos.

Share this post


Link to post
Share on other sites
  • 0

O Bond JamesBond @jamesbond, é jaimes ( inglês ) ou james ( espanhol ), me dá uma dica aí, de preferência como fazer, se possível! 
Eu já tenho no BD o campo cpf, só preciso dele, e preciso popular todos os vazios com numeros aleatórios e não repetidos para tornar a chave UNIQUE, me dê uma dica. 

O @rafinha_sam inclua nos seus estudos lógica booleana! Quando construir o seu código é só colocar uma condição OR para que verifique se uma ou outra condição atende. ( CNPJ OU CPF não está vazio . 

Share this post


Link to post
Share on other sites
  • 0
6 horas atrás, Cleudiney T Brandão disse:

O Bond JamesBond @jamesbond, é jaimes ( inglês ) ou james ( espanhol ), me dá uma dica aí, de preferência como fazer, se possível! 
Eu já tenho no BD o campo cpf, só preciso dele, e preciso popular todos os vazios com numeros aleatórios e não repetidos para tornar a chave UNIQUE, me dê uma dica. 

O @rafinha_sam inclua nos seus estudos lógica booleana! Quando construir o seu código é só colocar uma condição OR para que verifique se uma ou outra condição atende. ( CNPJ OU CPF não está vazio . 

Só formar um número que obviamente não vai existir quando alguém tentar cadastrar...
999.000.000-36

 

depois basta você pegar o primeiro e o segundo Índice após explodir os pontos e somar mais um, e os últimos dois dígitos em um random até 99.

Acredito que dessa forma você consiga tranquilo...

Caso ache outra lógica, fique à vontade...

  • +1 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By rafinha_sam
      Antes de cadastrar um Cliente preciso verificar se aquele CNPJ que o usuario vai digitar para cadastra-lo já possui no banco de dados, onde CNPJ = $objCliente->CNPJ   == sql - Tabela: tb_cliente -> de_cnpj varchar(20) etc... se estiver cadastrado mostrar um alert, caso o contrario conclua o cadastro.
      Uso o PhpMyAdmin como gerenciador de banco de dados.
       
       
    • By rafinha_sam
      Preciso verificar no cadastro de clientes se já possui o campo CNPJ cadastrado, onde CNPJ = $objCliente->CNPJ   == sql - Tabela: tb_cliente -> de_cnpj varchar(20) etc...
      uso o phpmyadmin como gerenciador de BD, não consigo tornar Unico da este erro:
      Erro
      Comando SQL:
       
      ALTER TABLE tb_cliente ADD UNIQUE INDEX UK_cnpj (de_cnpj)  
      Mensagens do MySQL : 
      #1062 - Duplicate entry '' for key 'UK_cnpj'
       
      ---------------------------------------------------------
       
      Aguardo resposta obrigado !!! 
       
      (Preciso do código já pronto se possível)
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.