Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 : **[/applications/core/interface/imageproxy/imageproxy.php?img=https://phpmyadmin.locaweb.com.br/phpmyadmin45/themes/dot.gif&key=8e45ee732c7340bd648ac6787047e19f49b99bfcac90b039ce1833cf8711072a" title="Documentação" />](https://phpmyadmin.locaweb.com.br/phpmyadmin45/url.php?url=http%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.6%2Fen%2Ferror-messages-server.html)
#1062 - Duplicate entry '' for key 'UK_cnpj'
---------------------------------------------------------
Aguardo resposta obrigado !!!
(Preciso do código já pronto se possível)>
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 : **[/applications/core/interface/imageproxy/imageproxy.php?img=https://phpmyadmin.locaweb.com.br/phpmyadmin45/themes/dot.gif&key=8e45ee732c7340bd648ac6787047e19f49b99bfcac90b039ce1833cf8711072a" title="Documentação" />](https://phpmyadmin.locaweb.com.br/phpmyadmin45/url.php?url=http%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.6%2Fen%2Ferror-messages-server.html)
#1062 - Duplicate entry '' for key 'de_cnpj'
O Erro permanece, já verifiquei>
7 minutos atrás, rafinha_sam disse:
ALTER TABLE `tb_cliente` ADD UNIQUE(`de_cnpj`);
**Mensagens do MySQL : **[/applications/core/interface/imageproxy/imageproxy.php?img=https://phpmyadmin.locaweb.com.br/phpmyadmin45/themes/dot.gif&key=8e45ee732c7340bd648ac6787047e19f49b99bfcac90b039ce1833cf8711072a" title="Documentação" />](https://phpmyadmin.locaweb.com.br/phpmyadmin45/url.php?url=http%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.6%2Fen%2Ferror-messages-server.html)
#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.>
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.
Faz uma consulta antes de cadastrar checando se já existe alguém com esses dados.
>
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?
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.
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 .
>
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...
Verifica se existe valores repetidos cadastrados e depois de apagar os mesmos, tente novamente.