IP-Werte werden im Allgemeinen mit char oder varchar gespeichert, aber bei der Durchführung von Suchen und Statistiken sind Zeichentypen nicht sehr effizient. Die MySQL-Datenbank verfügt über zwei integrierte IP-bezogene FunktionenINET_ATON()
、INET_NTOA()
, die IP-Adressen und Ganzzahltypen konvertieren können. Nach der Konvertierung kann INT UNSIGNED zum Speichern der IP verwendet werden. Die konvertierten Zahlen sind fortlaufend, was die Abfrageleistung verbessert und weniger Platz beansprucht.
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);
Das obige ist der detaillierte Inhalt vonWie MySQL IP-Werte speichert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!