ahsc 1 Denunciar post Postado Janeiro 14, 2009 Olá moçada, tudo certo? Tenho uma dúvida com relação ao campo tipo integer do mysql. seguinte: estou desenvolvendo um aplicativo que vai receber pedidos. Essa parte do sistema funciona da seguinte maneira: o cliente exporta um arquivo txt do sistema da empresa dele e faz o upload para o site. esse arquivo vem com algumas informações dentre elas o número do pedido. conforme especificação do cliente, o campo terá que armazenar, no máximo, campos com até 10 dígitos. fiz o programa em php e inseri os dados obtidos do arquivo txt no bd. Fiz vários testes de inserção e tudo correu sem maiores problemas. Como há uma série de tabelas no bd, tive que fazer os relacionamentos para que o vendedor pudesse ver as informações do pedido dele certinho. então eu "simulei" o arquivo txt com os dados de forma relacional. No campo do código do pedido , integer, pus os 10 dígitos conforme especificação. Para minha triste surpresa, quando eu inseri os números: 9965471235 e 7985412763 (códigos do pedido) e fui checar no bd se estava tudo certinho, o retorno desses números foi: 2147483647 (igual para ambos). No mesmo arquivo eu havia posto outros dois números: 1010252545 e 1015254560 e não obtive erro. Alguém tem idéia do que pode ser e como pode ser corrigido? Utilizo o gerenciador de bd PhpMyAdmin versão: 3.1.1 Obrigado a quem puder me dar uma ajudinha Compartilhar este post Link para o post Compartilhar em outros sites
cassitos 2 Denunciar post Postado Janeiro 14, 2009 todos os campos tem um valor máximo, o caso do INT é este que retornou. para armazenar um valor numérico maior, utilize um BIGINT por exemplo, dá uma lida nesta documentação que tem mais informações: http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html Tem uma relação dos campos numéricos e o que pode ser feito nestes camps para 'aumentar' o valor máximo. Compartilhar este post Link para o post Compartilhar em outros sites