Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> IP użytkownika - jaki typ kolumny?
wujek2009
post
Post #1





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


Hej,

Zastanawia mnie dobór odpowiedniego typu dla kolumny, która będzie trzymać IP użytkownika w bazie.
W SMF adres IP jest trzymany w kolumnie "member_ip", która ma varchar(255) - czy 255 znaków to nie za dużo?

Obliczając za pomocą funkcji strlen() ile znaków ma adres IP, wyszło mi 15!
  1. echo strlen('XXX.XXX.XXX.XXX'); // 15 znaków, zakładając, że IP akurat będzie miało 3 liczby i kropki


Czy varchar(15) starczy? czy może jest inny typ dla takich danych w MySQL?
Go to the top of the page
+Quote Post
ylk
post
Post #2





Grupa: Zarejestrowani
Postów: 194
Pomógł: 26
Dołączył: 9.01.2011
Skąd: /dev/null

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


varchar(15) bedzie idealny (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
Giluś
post
Post #3





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Dla pewności można zaokrąglić do 20...
Go to the top of the page
+Quote Post
ShadowD
post
Post #4





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


A w jakim celu zaokrąglać? 15 wystarczy...
Go to the top of the page
+Quote Post
wookieb
post
Post #5





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




Jeżeli masz zamiar trzymać tylko Ipv4 to mysql -> inet_aton i możesz trzymać IP jako liczbę
Dla IPv6 i tak musisz trzymać w formie stringa
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


MySQL strasznie daje tutaj ciała, ale problem jest dosyć popularny: http://www.google.com/search?hl=en&saf...mp;aql=&oq= W skrócie: albo tekst, albo pole binarne.

Cytat
[...] czy 255 znaków to nie za dużo?
To 255 przy VARCHARze oznacza "co najwyżej", a nie ile dokładnie.
Go to the top of the page
+Quote Post
yevaud
post
Post #7





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

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


unsigned int i zamiana aton ntoa
ipv6 powinno byc i tak oddzielna kolumna

Ten post edytował yevaud 19.03.2011, 13:43:55
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.12.2025 - 18:58