powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / поиск по ip адресам
7 сообщений из 7, страница 1 из 1
поиск по ip адресам
    #38752751
i'm_novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток.

IP адреса (как IPv4, так и IPv6) в таблице хранятся в виде структуры in_addr в поле типа VARBINARY(16).
Как вести поиск по этому полю? Например, найти адреса, начинающиеся с "10.23".
...
Рейтинг: 0 / 0
поиск по ip адресам
    #38752753
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте unsigned int для хранения адресов.
А искать потом так:
Код: sql
1.
WHERE INET_ATON('10.23.0.0') <= addr AND addr<INET_ATON('10.24.0.0')
...
Рейтинг: 0 / 0
поиск по ip адресам
    #38752759
i'm_novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не подойдет для IPv6. И MySQL 5.5, где еще нет новых функций для этих целей.
...
Рейтинг: 0 / 0
поиск по ip адресам
    #38752761
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i'm_novice,

Идея остается прежней - искать по диапазону.
Формально, можно искать и по маске, но так не получится применить индекс.
...
Рейтинг: 0 / 0
поиск по ip адресам
    #38752763
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i'm_noviceНе подойдет для IPv6. И MySQL 5.5, где еще нет новых функций для этих целей.В следующей весии, в 5.6 есть INET6_ATON.
Как вариант, можно сделать реализацию INET6_ATON непосредственно в вызывающем запрос приложении.
...
Рейтинг: 0 / 0
поиск по ip адресам
    #38752764
i'm_novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

К сожалению, не совсем понимаю идею с диапазоном в случа с IPv6. Он занимает 128 бит.
Как еще, кроме VARBINARY, его можно хранить в одном поле? И как по нему искать?

vkle,

Я это и имел в виду, что нет возможности использовать нативные функции, т.к. их нет в текущей установленной версии.
...
Рейтинг: 0 / 0
поиск по ip адресам
    #38752765
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i'm_noviceК сожалению, не совсем понимаю идею с диапазоном в случа с IPv6. Он занимает 128 бит.
Как еще, кроме VARBINARY, его можно хранить в одном поле? И как по нему искать?Если нужно в одном поле хранить адреса обоих типов, то VARBINARY вполне подойдет.
Как искать - я уже написал выше. Только вычисление INET_ATON вынесите на клиента.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / поиск по ip адресам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]