2011-11-16 9 views
9

Powiel możliwe:
What type should I store IP addresses for MySQL?Jaki jest idealny typ danych do przechowywania adresu IP w tabeli mysql?

Jeden typ danych, które mogą pomieścić zarówno IPv4 oraz adresy IPv6. Chcę przechowywać adresy IP, aby ograniczyć liczbę profili, które dana osoba może wykonać na swoim komputerze w mojej witrynie.

+2

Chciałbym polecić integer, a następnie przeanalizować go. –

+0

Tylko IPv4, czy też IPv6? Tylko adres IP, czy też maska ​​podsieci? – Martijn

+0

niektóre podobne tematy w SO polecam varchar ... wat abt that? –

Odpowiedz

6

Adresy IPv4 używają 32 bitów (4 bajty), adresy IPv6 używają 128 bitów (16 bajtów). W ten sposób można przechowywać ich binarną reprezentację w polach BINARY(16) lub VARBINARY(16).

Zobacz także moją odpowiedź na pytanie IP address storing in mysql database. Zawiera także komentarze, dlaczego wybrałbyś jedną z drugą.

+0

przechowywanie i odzyskiwanie działa fajnie ... ale nie jestem pewien, czy będzie działać dobrze w zamierzonym celu, o którym wspomniałem w pytaniu –

0

Typ danych typu trie będzie optymalny. Istnieje nieskompresowany i skompresowany strumień danych tego typu.

3

Można użyć NIEPISANEJ INT i używać do kodowania i dekodowania INET_ATON i INET_NTOA.

+1

czy to działa zarówno v4, jak i v6? –

Powiązane problemy