Ir para conteúdo

POWERED BY:

Arquivado

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

Samfera

[Resolvido] Armazenar valores com ZEROS a esquerda no mysql

Recommended Posts

PessoALL,

 

Procurei aqui no fórum alguma dica, porém, não encontrei.

 

É o seguinte:

Quero saber se existe alguma dica p/ gravar zeros a esquerda num campo AUTO_INCREMENTO. Que tipo de dados eu defino p/ o campo? Toda vez que passo os parâmetros pelo PHP os zeros são cortados.

 

Quero que no banco fique o código com os zeros a esquerda (o campo é AUTO_INCREMENTO). Ex: 00001

 

Isso é possível?

 

Desde já agradeço

 

Cláudio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wall,

 

Alterar o AUTO_INCREMENTO pra que tipo?

Adicionar o comando ZEROFILL como?

 

To perdido =/

 

Valeu

 

Cláudio

 

Se não me engano, basta alterar o campo auto_incremento, adicionando o comando ZEROFILL (se for no mysql).

 

Dá uma olhada no manual do mysql sobre os tipos numéricos aqui.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não Carlos,

 

Utilizo o sprintf p/ visualizar. Mas, preciso é gravar no banco.

 

Obrigado,

 

 

Se for apenas para visualização, você faz isso direto no PHP.

 

<?php

printf( '%05d', 1 ); // 00001

 

:seta: sprintf

Compartilhar este post


Link para o post
Compartilhar em outros sites

ACHO que assim funciona:

ALTER TABLE `tabela`
CHANGE `campo_pk` `campo_pk` INTEGER(5) UNSIGNED ZEROFILL  NOT NULL AUTO_INCREMENT;

 

Ou assim:

ALTER TABLE `tabela` MODIFY `campo_pk` INTEGER(5) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sintaxe SQL no create:

CREATE TABLE `teste` (
`id` INT(10) ZEROFILL NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=MyISAM
ROW_FORMAT=DEFAULT

 

No alter:

ALTER TABLE `teste` CHANGE COLUMN `id` `id` INT(10) ZEROFILL NULL AUTO_INCREMENT FIRST

Compartilhar este post


Link para o post
Compartilhar em outros sites

PessoALL,

 

Consegui fazer com a dica do Andrey.

 

ALTER TABLE `teste` CHANGE COLUMN `id` `id` INT(10) ZEROFILL NULL AUTO_INCREMENT FIRST

 

Obrigado a todos por ajudar,

 

Tópico encerrado -> [RESOLVIDO]

 

Sds,

Cláudio

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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