LINUX.ORG.RU

[mysql] как хранить IPv4 и IPv6?

 


0

1

Нужно хранить ip тех кто постит на форум.

Соответственно, нужно хранить и IPv4 и IPv6.
Всякие темы на stackoverflow не дают четкого ответа. (#1, #2)

Пока что думаю хранить как varchar(39).

Может у кого есть идеи получше?

Как хранить 32-битное целое и 128-битное целое?

Да это вопрос века, не меньше!

anonymous
()
Ответ на: комментарий от Sosiska

а как дела у oracle-a и mssql-a?

в mysql нет такого типа. Есть только BIGINT в 64 бита. Ну храните двумя половинками... Я бы VARCHAR(39) сделал-бы. (32 цифры + 7 двоеточий)

drBatty ★★
()

ну, с IPv4 ясно - хранить как unsigned int с преобразованием NTOA и ATON для работы со строками

azure ★★
()

ну ipv4 точно unsigned int. ipv6 в blob.

А вообще, всё зависит от целей. Можно и в текстовом формате если лень заморачиваться...

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Можно и в текстовом формате если лень заморачиваться

Ну и потом заодно с масками подзадолбаться, да :-)

no-dashi ★★★★★
()
Ответ на: комментарий от Sosiska

форум для потока.

Ты скажи в двух словах что будешь делать с айпишником. Если тебе не надо по ним сортировать или, скажем, выборку хитрую делать итд итп то можно и в тексте.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

хитрая выборка не нужна, решил хранить как VARCHAR.
всем спасибо.

Sosiska
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.