Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0

Pergunta

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)

Compartilhar este post


Link para o post
Compartilhar em outros sites

9 respostas a esta questão

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
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 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
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? 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 . 

Compartilhar este post


Link para o post
Compartilhar em outros sites
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...

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por 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.
       
       
    • Por 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)
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.