|
|
|
|
|
для: Trianon
(12.01.2010 в 10:14)
| | спасибо. Просто таких задач не стояло, так что, не приходилось искать им решений. А тыт случайно прочел и заинтересовался, как... | |
|
|
|
|
|
|
|
для: kosta_in_net
(12.01.2010 в 03:20)
| | >кстати, а как хранить ip в 4-байтном варианте?
Как хранить? В типе int.
Тип int - это как раз 4-байовое целое.
Или как преобразовывать?
Так:
>$ip = "93.158.128.0";
>$arr = explode(".", $ip);
>$data=chr($arr[0]).chr($arr[1]).chr($arr[2]).chr($arr[3]);
>? 4 символа получается. Или есть варианты разумней?
Это у Вас получилась строка из 4 символов, байты которых равны исх. числам.
Дальше нужна перепаковка (pack/unpack)
По-моему, проще обойтись ip2long() (для php) либо INET_ATON() (для MySQL) | |
|
|
|
|
|
|
|
для: kosta_in_net
(12.01.2010 в 03:20)
| | Преобразовать в число. Те же 4 байта, но их уже можно будет использовать в выражениях. | |
|
|
|
|
|
|
|
для: Trianon
(11.01.2010 в 03:17)
| | кстати, а как хранить ip в 4-байтном варианте? Так:
$ip = "93.158.128.0";
$arr = explode(".", $ip);
$data=chr($arr[0]).chr($arr[1]).chr($arr[2]).chr($arr[3]);
? 4 символа получается. Или есть варианты разумней? | |
|
|
|
|
|
|
|
для: Diplex
(11.01.2010 в 00:10)
| | Как я могу советовать?
Я же не знаю, какую сущность эта таблица описывает.
Естественный уникальный ключ обычно является хорошим претендентом на роль первичного.
Если это слишком громоздкое для практического доступа поле (или набор полей) - тогда имеет смысл ввести суррогатный. | |
|
|
|
|
|
|
|
для: Trianon
(10.01.2010 в 22:52)
| | Ну я конечно имел ввиду не дамп, а структуру... Какое поле лучше сделать первичным? Или добавить поле id и сделать его первичным, но оно мне не понадобится... как поступить? | |
|
|
|
|
|
|
|
для: Diplex
(10.01.2010 в 15:59)
| | Дамп у Вас снят с таблицы вполне корректно.
А по структуре я подсказал. | |
|
|
|
|
|
|
|
для: Trianon
(10.01.2010 в 10:01)
| | Можете показать, как переделать дамп, чтобы было правильно? | |
|
|
|
|
|
|
|
для: Diplex
(10.01.2010 в 02:55)
| | Но здесь нет ни одного индекса, даже первичного. А значит серверу придется просканировать всё табличное пространство, чтобы добраться до хвоста.
IP, меж тем, в 4 байта влезает.
Когда будете создавать, подумайте, что проще проиндексировать - 4 байта или 15. | |
|
|
|
|
|
|
|
для: Trianon
(09.01.2010 в 15:31)
| | Вот дамп:
CREATE TABLE `ip_tm_nm_ob` (
`ip` varchar(15) default NULL,
`tm` datetime default NULL,
`nm` varchar(100) default NULL,
`ob` varchar(6) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
| |
|
|
|
|