Les valeurs IP sont généralement stockées à l'aide de char ou de varchar, mais lors des recherches et des statistiques, les types de caractères ne sont pas très efficaces. La base de données MySQL possède deux fonctions intégrées liées à l'IP INET_ATON()
、INET_NTOA()
, qui peuvent convertir les adresses IP et les types entiers. Après la conversion, INT UNSIGNED peut être utilisé pour stocker l'adresse IP. Les nombres convertis sont continus, ce qui améliore les performances des requêtes et prend moins de place.
CREATE TABLE `tb_ip` ( `increment_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键', `name` varchar(100) NOT NULL COMMENT '姓名', `inet_ip` int(10) unsigned NOT NULL COMMENT 'IP', PRIMARY KEY (`increment_id`), KEY `idx_inet_ip` (`inet_ip`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='ip测试表'; # 插入数据 insert into `tb_ip` (`name`,`inet_ip`) values ('wang',INET_ATON('192.168.0.1')),('lisi',INET_ATON('192.168.0.2')); # 相互转换 select INET_ATON('192.168.0.1'); select INET_NTOA(3232235521);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!