要存储的格式。

使用相当复杂的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地址相关推荐

  1. MySQL inet aton函数,基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析

    有个统计需求,需要对IP进行分类统计,Mysql提供了inet_aton()和inet_ntoa()函数进程处理. 具体可以 INET_ATON(expr)给出一个作为字符串的网络地址的点地址表示,返 ...

  2. 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转换 ...

  3. MySQL inet aton函数_MySQL INET_ATON()用法及代码示例

    INET_ATON(): MySQL中的此函数将IPv4地址的dotted-quad表示形式作为字符串,并以整数形式返回给定IP地址的数值.如果输入地址不是有效的IPv4地址,则此函数返回NULL.返 ...

  4. mysql 营业时间_mysql – 在数据库中存储各种商店开放时间的方法

    我想在数据库中存储不同商店的营业时间.目前我正在使用最简单的解决方案: CREATE TABLE opening_times( shop_id int(3) NOT NULL, times varch ...

  5. 在数据库中存储IP地址

    IP addresses can be stored in a database in any of several ways.  These ways may vary based on the v ...

  6. ajax 参数带百分号,Ajax请求中带有IPv6地址后的百分号的问题

    IPv6地址后的百分号: 对于连入网络但没有IPv6路由器或DHCPv6服务器的IPv6客户端,它们始终使用fe80::/64链路本地网络地址.如果运行Windows的计算机中有多个网络适配器连接到不 ...

  7. c语言中打印ipv6地址,IPv6地址介绍

    1. 认识IPv6地址 IPv4地址是类似 A.B.C.D 的格式,它是32位,用\".\"分成四段,用10进制表示:而IPv6地址类似X:X:X:X:X:X:X:X的格式,它是1 ...

  8. MySQL inet aton函数,MySQL IP转数字函数 INET_ATON() INET_NTOA()

    223 total views, 1 views today 在MySQL中IP地址可以使用varchar字段类型存储,但是若查找某个IP区间的IP地址就很麻烦. 但是通过 INET_ATON() 函 ...

  9. mysql中存储ip地址,将ip转换为整数存储

    mysql中将ip转换为整数存储,可以节省空间和提高性能,但是不利于阅读.<msql高性能>中推荐将ip地址转换为整数,用一个无符号的32位的整数存储. select INET_ATON( ...

最新文章

  1. 大数据安全标准现状和思考
  2. oracle 作业 断开原因,解惑 | Oracle JOB 异常中断原因分析
  3. ios开发,地图标注聚集。搜索标注title功能
  4. 模块说和神经网络学说_教师招聘中常见的5种脑机能学说
  5. 【中间件】消息队列-RabbitMQ
  6. OSGi简介–模块化Java
  7. 2014025650《嵌入式程序设计》第一周学习总结
  8. ipython 安装
  9. 电脑三种方式连接打印机
  10. 计算机综合症怎么治,哪些运动可以用来治疗“电脑综合症”
  11. 互联网奥秘_Excel数据表的奥秘
  12. 2022年贵州二级建造师建设工程法规及相关知识模拟题及答案
  13. 【解决方法】ld: warning: directory not found for option
  14. 德语语法笔记——动词的变位
  15. RFID资产管理解决方案
  16. 如何三分钟为小程序打造管理后台
  17. MBI5020 LED驱动
  18. 在线JSON转PHP Array工具
  19. WINPE-U盘安装Linux
  20. 清华大学大数据研究中心招募专业实践基地合作单位(2023年度)

热门文章

  1. request Headers字段详解
  2. Direct3D中的光照
  3. 通过Windows10管理AD域控
  4. 用android实现GB28181监控客户端app
  5. Java TDD介绍-1
  6. Linux【shell】 shell编程
  7. linux环境下python机器学习环境的搭建
  8. STM32开发 -- RTC详解
  9. 分布式系统统一身份认证
  10. 2.1微信小程序--比较数字大小