В Каком поле лучше держать преобразованный в число IP-адрес?

Sirius

PHP+MySQL=LOVE
В Каком поле лучше держать преобразованный в число IP-адрес?

Юзаю функцию INET_ATON - для преобразования IP в число!
А в каком поле лучше держать такое число?


Пробовал использовать int - но например IP = 255.255.255.255 в нём будет отображаться неверно, потому что максимальный размер поля числа в поле int = 2147483647, а select inet_aton (255.255.255.255) = 4294967295
Значит все IP превышающие select inet_ntoa(127.255.255.255) = 2147483647, будут записываться как 127.255.255.255

Значит int нельзя! И что остаётся?
char(10) или bigint??? Что оптимальнее для базы???

И ещё один вопрос - зачем инту значения в скобках - ведь это никак не вляет на его размер!
 

DiMA

php.spb.ru
Команда форума
не верный ответ

INT UNSIGNED

и вообще, нет разницы как хранить ип - со знаком (от -2 млрд до +2) или без знака
 

Sirius

PHP+MySQL=LOVE
Хммм... UNSIGNED - Это гениально и просто!

А главное максимальное значение поля - то что нужно:

4294967295


Спасибо - этот тип поля как раз то!
 
Сверху