Посты с тегом sql
18
марта
2008

Хранение IP в таблице MySQL

Иногда полезная информация попадается на глаза тогда, когда необходимость в ней уже или еще отсутствует. Например, я только что нашел на сайте MyMans.org описание функций, с помощью которых в базе MySQL можно удобно хранить IP адреса, используя поле типа INT. Абсолютно правильная, кстати, идея — это гораздо эффективнее с точки зрения системных ресурсов, чем отводить текстовое поле (встречавшееся решение).

Пример кода:

SELECT INET_ATON('127.0.0.1'), INET_ATON('127.1');
-- 2130706433, 2130706433

SELECT INET_NTOA(3520061480); -- '209.207.224.40'

SELECT * FROM Sessions WHERE ip_address BETWEEN INET_ATON('192.168.0.1') AND INET_ATON('192.168.0.255');

От себя могу добавить, что эти функции появились начиная с версии 3.23.15, поэтому их использование никак не ухудшит переносимость скриптов.

Кстати, очень рекомендую MyMans всем, кто его еще не видел. Весьма полезный коллективный блог по вебдеву.