Forum Linux Mint Polska

Autor Wątek: Mysql - format kolumny ID  (Przeczytany 360 razy)

Offline pompio

  • Miętowy liść
  • *
  • Wiadomości: 49
  • Punkty: 0
  • Środowisko graficzne: Cinnamon
  • Wersja systemu: 18
Mysql - format kolumny ID
« dnia: Grudzień 17, 2016, 20:28:18 pm »
Witam,
Może są tu eksperci od SQL?
Chciałbym aby kolumna ID w mojej tabeli była wyświetlana w formacie:
001
002
003
004, itd.
W tej chwili wyswietla mi tradycyjnie:
1
2
3
4, itd.
Kolumna jest ustawiona na auto_increment, primary key.
Czy można to jakoś ustawić?
Nie potrafię w niecie znaleźć takiej informacji.

Pozdrawiam

Offline Ulvhedin

  • Globator Moderalny
  • Spamerzy
  • *******
  • Wiadomości: 1537
  • Punkty: 1112
  • Płeć: Mężczyzna
  • Środowisko graficzne: Xfce
  • Wersja systemu: Inny
Odp: Mysql - format kolumny ID
« Odpowiedź #1 dnia: Grudzień 18, 2016, 16:02:15 pm »
Możesz skorzystać z opcji zerofill dla kolumny typu integer, np.
create table tabela (col_id int unsigned zerofill not null auto_increment primary key);
Jednakże, po co ? Jesli chcesz wyswietlać ID userowi to lepiej formatować na wyjściu (zasadniczo ID nie powinno być wyswietlane na ekran).

Offline pompio

  • Miętowy liść
  • *
  • Wiadomości: 49
  • Punkty: 0
  • Środowisko graficzne: Cinnamon
  • Wersja systemu: 18
Odp: Mysql - format kolumny ID
« Odpowiedź #2 dnia: Grudzień 18, 2016, 21:26:05 pm »
Możesz skorzystać z opcji zerofill dla kolumny typu integer, np.
create table tabela (col_id int unsigned zerofill not null auto_increment primary key);
Jednakże, po co ? Jesli chcesz wyswietlać ID userowi to lepiej formatować na wyjściu (zasadniczo ID nie powinno być wyswietlane na ekran).

Dziękuję.
A jakie jest zapytanie formatujące w taki sposób daną kolumnę?

Offline Ulvhedin

  • Globator Moderalny
  • Spamerzy
  • *******
  • Wiadomości: 1537
  • Punkty: 1112
  • Płeć: Mężczyzna
  • Środowisko graficzne: Xfce
  • Wersja systemu: Inny
Odp: Mysql - format kolumny ID
« Odpowiedź #3 dnia: Grudzień 19, 2016, 12:49:20 pm »
Więcej dokumntacji od mysql czytaj :)

select lpad(idcolumn,3,'0') from tabela;