Problema com Inserção

438 views
Skip to first unread message

Glauber Santana

unread,
Dec 13, 2011, 3:09:53 PM12/13/11
to
Boa tarde pessoal,

estou com uma aplicação que tem um cadastro e sempre que vou fazer a inserção no Banco aparece a mensagem Duplicate entry '2147483647' for key 'cpf'.

O mais estranho é que no formulario eu digito um numero diferente do que aparece no mensagem acima '2147483647'.

Por exemplo: eu digito 11111111111 e aparece a mensagem com o numero '2147483647'.


Allguem pode me ajudar?

image.png
--

Glauber A. de Santana

 

São Paulo - SP

Cel:    + 55 11 9837-7368 / 8180-9983

E-mail: glaube...@gmail.com

Msn: glauber...@hotmail.com

Twitter: glaubertech

image.png

Fabio Branco da Silva

unread,
Dec 14, 2011, 5:27:44 AM12/14/11
to php-b...@googlegroups.com
da um select e verifica se existe registro com esse CPF duplicado, se tiver
remova 1 deles, se vc ker duplicar os dados veja no seu phpmyadmin se esta
ativa a regra unique no campo cpf, e desative ela.

On Tue, 13 Dec 2011 18:09:53 -0200, Glauber Santana wrote
> Boa tarde pessoal,
>
> estou com uma aplica��o que tem um cadastro e sempre que vou fazer a
inser��o no Banco aparece a mensagem�Duplicate entry '2147483647' for key 'cpf'.
>
>
> O mais estranho � que no formulario eu digito um numero diferente do que


aparece no mensagem acima�'2147483647'.
>
> Por exemplo: eu digito 11111111111 e aparece a mensagem com o
numero�'2147483647'.
>
> Allguem pode me ajudar?
>

> --
>
> Glauber A. de Santana

> �
> S�o Paulo - SP

> Cel:��� + 55 11 9837-7368 / 8180-9983
> E-mail: glaube...@gmail.com
> Msn: glauber...@hotmail.com
> Skype: glauber.tech1
> Twitter: glaubertech
>

> --
> Voc� est� recebendo esta mensagem porque se inscreveu no grupo "php-brasil"
dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
> Para cancelar a inscri��o nesse grupo, envie um e-mail para
php-brasil+...@googlegroups.com.
> Para obter mais op��es, visite esse grupo em
http://groups.google.com/group/php-brasil?hl=pt-BR.

--
www.fdnet.com.br

Cassiano Ricardo Mourão

unread,
Dec 14, 2011, 6:52:52 AM12/14/11
to php-b...@googlegroups.com
Antes de sair usando os tipos, vamos aprender como, porquê e quais utilizar.

Leia aqui http://dev.mysql.com/doc/refman/5.0/en/integer-types.html o porquê estar aparecendo 2147483647 e, como dica, use varchar (ou char(11)) ao invés de um numeral. O RG/CPF é um número, porém você não irá utilizá-lo para efetuar operações, então não tem muito sentido utilizar bigint para ele.

Em 14 de dezembro de 2011 07:27, Fabio Branco da Silva <fbr...@fdnet.com.br> escreveu:
da um select e verifica se existe registro com esse CPF duplicado, se tiver
remova 1 deles, se vc ker duplicar os dados veja no seu phpmyadmin se esta
ativa a regra unique no campo cpf, e desative ela.

On Tue, 13 Dec 2011 18:09:53 -0200, Glauber Santana wrote
> Boa tarde pessoal,
>
> estou com uma aplicação que tem um cadastro e sempre que vou fazer a
inserção no Banco aparece a mensagem Duplicate entry '2147483647' for key 'cpf'.
>
>
> O mais estranho é que no formulario eu digito um numero diferente do que

aparece no mensagem acima '2147483647'.
>
> Por exemplo: eu digito 11111111111 e aparece a mensagem com o
numero '2147483647'.
>
> Allguem pode me ajudar?
>
> --
>
> Glauber A. de Santana
>  
> São Paulo - SP

> Cel:    + 55 11 9837-7368 / 8180-9983
> E-mail: glaube...@gmail.com
> Msn: glauber...@hotmail.com
> Skype: glauber.tech1
> Twitter: glaubertech
>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil"

dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
> Para cancelar a inscrição nesse grupo, envie um e-mail para
php-brasil+...@googlegroups.com.
> Para obter mais opções, visite esse grupo em
http://groups.google.com/group/php-brasil?hl=pt-BR.

--
 www.fdnet.com.br

--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.

Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.


Cassiano Ricardo Mourão

unread,
Dec 14, 2011, 6:53:25 AM12/14/11
to php-b...@googlegroups.com
E claro, se eu comi algum sapo, alguém por gentileza me corrija!

Elder Dos Santos

unread,
Dec 14, 2011, 7:20:02 AM12/14/11
to php-b...@googlegroups.com
Certíssimo cara. Usar char ou varchar nessa hora eu acho o mais correto.

Eduardo Kraus

unread,
Dec 14, 2011, 1:55:54 PM12/14/11
to php-b...@googlegroups.com
Ola

Simples, seu campo é pequeno demais para o CPF.

Veja, abaixo os dois digítos sobrepostos.
11111111111
2147483647

O campo int(10) podes inserir valor até 2147483647 e você esta tentando inserir uma valor 8963627464 maior.

Dica: Altere para VARCHAR(11) este campo, pois terás problemas, visto que meu cepf é 039.5XX.XXX-55 iniciando com zero e isso vale para mais CPFs.

Eduardo Kraus
Professor 

+55 48 8843-3423
kr...@eduardokraus.com
www.eduardokraus.com
www.twitter.com/EduardoKraus



image.png

Rafael Kassner

unread,
Dec 14, 2011, 2:18:46 PM12/14/11
to php-b...@googlegroups.com
Guarde o CPF como BIGINT, usa apenas 8 bytes do banco de dados, e não 11 como no VARCHAR, além é claro, que tem um parsing de texto pra fazer caso faça operações usando a coluna do CPF.




--
Atenciosamente,
Rafael Kassner

image.png

Murilo Biassio Rosa

unread,
Dec 14, 2011, 1:49:01 PM12/14/11
to php-b...@googlegroups.com
CPF, RG, CNPJ, etc… sempre char, pois tem um tamanho definido… exemplo um CPF 01122233344 se gravado em um campo int ficará 1122233344
Att, 
Murilo Rosa . Net
http://www.murilorosa.net
+554288010692
skype: murilobiassio
msn: con...@murilorosa.net

Eduardo Kraus

unread,
Dec 14, 2011, 2:30:41 PM12/14/11
to php-b...@googlegroups.com
Ola

Não estamos trabalhando com Microcontroladores PIC para ficar conbtando bytes da memória.

@Murilo "CPF, RG, CNPJ, etc… sempre char, pois tem um tamanho definido… exemplo um CPF 01122233344 se gravado em um campo int ficará 1122233344"
image.png

Eduardo Kraus

unread,
Dec 14, 2011, 6:08:45 PM12/14/11
to php-b...@googlegroups.com
Rafael

Insedre o CNPJ do banco do Brasil como inteiro... 00000000000191

Ou o CPF 00000000272 do GHERSON DYWYNO ESPHYNDOLA
Em 14 de dezembro de 2011 17:18, Rafael Kassner <kas...@gmail.com> escreveu:
BB.pdf

Suissa

unread,
Dec 15, 2011, 4:09:55 PM12/15/11
to php-b...@googlegroups.com
Por favor neh, CHAR!
Jean C. Nascimento aka Suissa
WebDeveloper Sênior - SP



Suissa

unread,
Dec 15, 2011, 4:11:02 PM12/15/11
to php-b...@googlegroups.com
Fora que conseguimos buscar com LIKE ou regex o que da um poder de busca muito maior que um inteiro.

Rafael Kassner

unread,
Dec 15, 2011, 4:18:16 PM12/15/11
to php-b...@googlegroups.com
Não necessariamente. Eu só me preocuparia com um CNPJ como "191" no banco de dados se eu não soubesse converter esse número pra uma string formatada...

2011/12/15 Suissa <jnasc...@gmail.com>



--
Atenciosamente,
Rafael Kassner

Eduardo Kraus

unread,
Dec 15, 2011, 5:22:15 PM12/15/11
to php-b...@googlegroups.com
Ola


Não necessariamente. Eu só me preocuparia com um CNPJ como "191" no banco de dados se eu não soubesse converter esse número pra uma string formatada...

Sim, só que ao fazer busca terás que formatar antes de buscar....
Reply all
Reply to author
Forward
0 new messages