mysql inet aton ipv6_在MySQL中存储IPv6地址
要存储的格式。
使用相当复杂的IPv6 IP地址查询示例INSERT。
示例SELECT查询您将能够echo将IPv6 IP地址返回给客户端。
排除故障以确保您没有错过任何遗留代码。
醇>
我将所有列名更改为ipv6,以反映他们正确支持IPv6(这样可以保持旧列ip完好无损)。可以在ip列中存储ipv6列,然后在您确定转换有效后再点击ip列;当我真的有时间时,我会将其添加到这篇文章中。
IPv6数据类型
正如已经提到的那样VARBINARY 16是一种理想的方式,直到AMD用128位CPU祝福我们并更新数据库以支持128位整数(我说得对吗?)。 IPv6是128位,而不是64位。
CREATE TABLE `example`
(
`id` INT(11) NOT NULL AUTO_INCREMENT,
`ipv6` VARBINARY(16) NOT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8mb4_unicode_520_ci'
ENGINE=InnoDB;
IPv6 INSERT查询
我们显然需要在SELECT之前存储IPv6 IP地址;这是PHP / SQL代码:
$ipv6 = mysqli_real_escape_string($db,'FE80:0000:0000:0000:0202:B3FF:FE1E:8329');
$query1 = "INSERT INTO example (ipv6) VALUES (INET6_ATON('$ipv6'));";
IPv6 SELECT查询
PHP / SQL代码:
$ipv6 = mysqli_real_escape_string($db,'FE80:0000:0000:0000:0202:B3FF:FE1E:8329');
$query2 = "SELECT INET6_NTOA(ipv6) AS ipv6 FROM example WHERE ipv6=INET6_ATON('$ipv6');";
这将返回fe80::202:b3ff:fe1e:8329;不,不是完整的IPv6(FE80:0000:0000:0000:0202:B3FF:FE1E:8329),它是一个浓缩/速记版本。有代码使它成为正式的完整版本,但这是为了节省自己和其他人的时间,因为这个 Q / A是一个不断出现的。
重要提示,只是因为某些 IPv6地址看起来就像他们适合bigint一样不是意味着两分钟之后,拥有更大IPv6地址的人不会停下来并造成严重破坏。
希望这可以使一些人免于打开另外两打标签的疯狂。当我将来有时间时,我会添加额外的PHP代码,将浓缩的IPv6扩展为完整的正式格式。
疑难解答强>
如果出于某种原因存储和/或检索IPv6地址对您不起作用,那么请自己获取Advanced Find and Replace的副本(在Wine中比在本地grep中更快地运行;);使用此主要来查找,而不是替换。确保您的软件中的代码一致。
mysql inet aton ipv6_在MySQL中存储IPv6地址相关推荐
- MySQL inet aton函数,基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析
有个统计需求,需要对IP进行分类统计,Mysql提供了inet_aton()和inet_ntoa()函数进程处理. 具体可以 INET_ATON(expr)给出一个作为字符串的网络地址的点地址表示,返 ...
- mysql inet aton ipv6_Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结
知识背景: 210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式.英语叫做IPv4 numbers-and-dots notation. 如果把210.25.132.181转换 ...
- MySQL inet aton函数_MySQL INET_ATON()用法及代码示例
INET_ATON(): MySQL中的此函数将IPv4地址的dotted-quad表示形式作为字符串,并以整数形式返回给定IP地址的数值.如果输入地址不是有效的IPv4地址,则此函数返回NULL.返 ...
- mysql 营业时间_mysql – 在数据库中存储各种商店开放时间的方法
我想在数据库中存储不同商店的营业时间.目前我正在使用最简单的解决方案: CREATE TABLE opening_times( shop_id int(3) NOT NULL, times varch ...
- 在数据库中存储IP地址
IP addresses can be stored in a database in any of several ways. These ways may vary based on the v ...
- ajax 参数带百分号,Ajax请求中带有IPv6地址后的百分号的问题
IPv6地址后的百分号: 对于连入网络但没有IPv6路由器或DHCPv6服务器的IPv6客户端,它们始终使用fe80::/64链路本地网络地址.如果运行Windows的计算机中有多个网络适配器连接到不 ...
- c语言中打印ipv6地址,IPv6地址介绍
1. 认识IPv6地址 IPv4地址是类似 A.B.C.D 的格式,它是32位,用\".\"分成四段,用10进制表示:而IPv6地址类似X:X:X:X:X:X:X:X的格式,它是1 ...
- MySQL inet aton函数,MySQL IP转数字函数 INET_ATON() INET_NTOA()
223 total views, 1 views today 在MySQL中IP地址可以使用varchar字段类型存储,但是若查找某个IP区间的IP地址就很麻烦. 但是通过 INET_ATON() 函 ...
- mysql中存储ip地址,将ip转换为整数存储
mysql中将ip转换为整数存储,可以节省空间和提高性能,但是不利于阅读.<msql高性能>中推荐将ip地址转换为整数,用一个无符号的32位的整数存储. select INET_ATON( ...
最新文章
- 大数据安全标准现状和思考
- oracle 作业 断开原因,解惑 | Oracle JOB 异常中断原因分析
- ios开发,地图标注聚集。搜索标注title功能
- 模块说和神经网络学说_教师招聘中常见的5种脑机能学说
- 【中间件】消息队列-RabbitMQ
- OSGi简介–模块化Java
- 2014025650《嵌入式程序设计》第一周学习总结
- ipython 安装
- 电脑三种方式连接打印机
- 计算机综合症怎么治,哪些运动可以用来治疗“电脑综合症”
- 互联网奥秘_Excel数据表的奥秘
- 2022年贵州二级建造师建设工程法规及相关知识模拟题及答案
- 【解决方法】ld: warning: directory not found for option
- 德语语法笔记——动词的变位
- RFID资产管理解决方案
- 如何三分钟为小程序打造管理后台
- MBI5020 LED驱动
- 在线JSON转PHP Array工具
- WINPE-U盘安装Linux
- 清华大学大数据研究中心招募专业实践基地合作单位(2023年度)