Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jak ustalić długosć identyfikatora?, chciałabym mieć 4cyfrowe identyfikatory w SQLite
jolam
post 8.08.2009, 13:50:41
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (10%)
X----


W mojej bazie danych SQLite dobiera identyfikatory dla nowych rekordów po kolei od 1, a czy można zrobić aby dobierał od 1000? Czyli żeby wszystkie miały 4cyfry? Np 1000, 1001, 1002, albo 0001, 0002, 0003? Przyadłoby mi się to do drzrewek ip. Aby dało się sensownie sortować wedle tych ip.

pozdrawiam Jola
Go to the top of the page
+Quote Post
erix
post 8.08.2009, 19:09:26
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Przyadłoby mi się to do drzrewek ip. Aby dało się sensownie sortować wedle tych ip.

To znaczy?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
wookieb
post 8.08.2009, 19:11:33
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(erix @ 8.08.2009, 20:09:26 ) *
To znaczy?

Problem z naturalnym sortowaniem ciągów tekstowych

Co do tematu proponuję wykonać coś takiego w php http://pl2.php.net/manual/pl/function.str-pad.php

Ten post edytował wookieb 8.08.2009, 19:16:41


--------------------
Go to the top of the page
+Quote Post
jolam
post 9.08.2009, 09:19:42
Post #4





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (10%)
X----


wookieb właśnie o to sortowanie chodzi! Tą funkcje PHP znam. Ale wolałabym, żeby zrobić to w samym SQL. Używam SQLite, czy da się już przy deklarowaniu kolumny ustawić PRIMARY KEY z zerami na początku, czyli 0001, 0002, 0003? Albo jak ustawić startowy identyfikator na 1000? Wtedy miałabym 1001, 1002,1003.

pozdrawiam i proszę gorąco o odpowiedź Jola
Go to the top of the page
+Quote Post
zegarek84
post 9.08.2009, 09:36:45
Post #5





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


ale jeśli ustawisz pole na PRIMARY KEY AUTOINCREMENT i pierwszy wpis ręcznie na 999 to następne same będą kolejno czyli 1000 itd. - lub pierwszy wpis ręcznie na 1000 itd. - w każdym bądź razie tekst jest wolniejszy od liczb... a jeśli już bardzo chcesz operować na tekście to możesz akurat w sqlite do zapytań podpiąć własne zdefiniowane funkcje w php....


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
viking
post 9.08.2009, 09:37:28
Post #6





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Wstaw pierwszy rekord dla primary jawnie jako 1000.

  1. CREATE TABLE "test" ("id" INTEGER PRIMARY KEY NOT NULL , "test" VARCHAR);
  2. INSERT.... (1000, 'ss');
  3. INSERT....('yyy');


Ten post edytował viking 9.08.2009, 09:40:08


--------------------
Go to the top of the page
+Quote Post
jolam
post 9.08.2009, 09:46:25
Post #7





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (10%)
X----


viking dziękuję Ci. Nie pomyślałam, a to faktycznie powinno zadziałać. Szkoda, że nie ma jakiegoś bardziej uniwersalnego rozwiązania, już na etapie deklarowania kolumny.

Czy mógłbyś zajrzeć rónież na
http://forum.php.pl/index.php?showtopic=127597&hl=

pozdrawiam Jola
Go to the top of the page
+Quote Post
maly_swd
post 9.08.2009, 13:18:11
Post #8





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

Ostrzeżenie: (0%)
-----


  1. CREATE TABLE `test`.`tabelka` (
  2. `id` int(4) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  3. PRIMARY KEY (`id`)
  4. ) ....


a czemu nie uzyc zerofill ? przeciez to idealne dla tego rozwiazania, deklaracja int(4) oznacza do ilu ma wypelniac zerami.
Jesli iD wstawimy 1 to dostaniemy 0001


Ten post edytował maly_swd 9.08.2009, 13:19:30


--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post
viking
post 9.08.2009, 13:29:03
Post #9





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Pewnie dlatego że sqlite to nie mysql winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 12:09