[MySql] opvullen van auto_increment kolom

Pagina: 1
Acties:

  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
Ik heb een kolom id en die loopt automatisch op door middel van auto_increment nu is dat wel goed maar nu wil ik dat de getallen die in deze kolom komen in de vorm zijn van 00001 00002 00003 enzovoorts. Hoe kan ik dit voor elkaar krijgen dat ik deze ID's opvul met een paar nullen tot ik 5 nummers heb?

ActueleWind


  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Als 't voor displayen is en je php gebruikt:
• ID opvragen
• strlen bepalen
• plak (4-strlen) '0' en voor 't ID

als je 't zo in het veld wil hebben.... waarom :?

  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Topicstarter
ik wil het hebben voor een code die ik verder op de website wil gebruiken. Dus code1 + id(5) word dan de lange code zodat ie wat minder makkelijk te raden is. Dus het is niet voor displayen. Hij moet dus zo in de tabel komen.

ActueleWind


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

In Oracle:
code:
1
2
3
4
select 
  substr('00000',(length(to_char(KOLOMNAAM)))+1,5)||to_char(KOLOMNAAM) 
from 
  MIJNTABEL

;)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • ajvdvegt
  • Registratie: Maart 2000
  • Laatst online: 15-08 12:40
Waarom wil je dat? Als het idd voor het weergeven is, dan kan je heel handig printf gebruiken in php:
PHP:
1
2
3
<?
ereg_replace(" ", "0", printf("%5d",$id));
?>

Dit geeft voor elk ID 5 tekens weer.

ik hoor net dat het ook in mysql kan. Van deze pagina:

Maak je kolom van het type 'INT(5) ZEROFILL'.

edit:
Printf zet er spaties voor, dus even ereg_replace toegevoegd.

I don't kill flies, but I like to mess with their minds. I hold them above globes. They freak out and yell "Whooa, I'm *way* too high." -- Bruce Baum


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 07 februari 2002 14:51 schreef Lurge het volgende:
ik wil het hebben voor een code die ik verder op de website wil gebruiken. Dus code1 + id(5) word dan de lange code zodat ie wat minder makkelijk te raden is. Dus het is niet voor displayen. Hij moet dus zo in de tabel komen.
In jouw geval dan: NIET!

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Dan kan je toch voordat je een link genereed
PHP:
1
2
3
4
5
6
7
8
<?
$Fill=5-strlen($ID);
$Fill_0="";
for ($x=1;$x <=$Fill;$x++) {
  $Fill_0 .="0";
}
$LinkID= $Fill_0 . $ID;
?>

doen (of je maakt er een functie van)

[edit]
printf is idd makkelijker :D

Verwijderd

Op donderdag 07 februari 2002 14:52 schreef dusty het volgende:
In Oracle:
code:
1
2
3
4
select 
  substr('00000',(length(to_char(KOLOMNAAM)))+1,5)||to_char(KOLOMNAAM) 
from 
  MIJNTABEL

;)
Er staat toch duidelijk MySQL in de onderwerp ?

edit:

Een wilde gok: zet bij de kolomattributen van het kolom waar je een auto_increment op hebt staan default 00000.
Pagina: 1