相关疑难解决方法(0)

如何在MySQL的单个列中存储128位数字?

我正在更改一些表以将IP地址存储为数字而不是字符串.这对于IPv4来说很简单,其中32位地址可以适合整数列.但是,IPv6地址是128位.

MySQL文档仅示出了数字类型多达64个比特("BIGINT").

我应该坚持使用char/varchar进行IPv6吗?(理想情况下,我想对IPv4和IPv6使用相同的列,所以我不想这样做).

有没有比使用两个bigint列更好的东西?每当使用地址时,我宁愿不必将值分解为上限和下限/ 64.

我正在使用MariaDB 5.1 - 如果在更高版本的MySQL中有更好的解决方案,那么很高兴知道,虽然没有立即帮助.

[编辑]请注意,我建议采用最佳方式执行此操作 - 很明显,有多种方法可以做到这一点(包括现有的字符串表示),但是(在性能方面)最好?(即如果某人已经完成了分析,这将使我无法做到这一点,或者如果我遗漏了一些明显的东西,那么知道也很好).

mysql types ipv6

36
推荐指数
2
解决办法
2万
查看次数

如何在关系数据库中存储与IPv6兼容的地址

我怎么做?

现在,IPv6将不会被使用,但我需要设计应用程序以使其为IPv6做好准备.有必要在MySQL数据库中存储IP地址和CIDR块(也是BGP NLRI,但这是另一个故事).我总是使用INT for IPv4 +一个TINYINT用于masklen,但IPv6是128位.

最适合的方法是什么?2xBIGINTCHAR(16)用于二进制存储?CHAR(39)用于文本存储?8xSMALLINT在专门的桌子?

你会推荐什么?

mysql ipv6

34
推荐指数
3
解决办法
3万
查看次数

将IPv6存储在数据库中

在MySQL数据库中用PHP存储IP的最佳实践是什么?有一个名为ip2long的函数 - 但这仅适用于IPv4.但是IPv6呢?

我知道一个用于IPv6 IP的PHP函数,但它在使用PHP <Version 5.3的Windows上不起作用

php mysql ip ipv6

15
推荐指数
3
解决办法
8890
查看次数

如何查看变量的二进制表示

有可能看到变量的二进制表示吗?

php

11
推荐指数
3
解决办法
1万
查看次数

ip2long如何将转换后的IP存储在MySQL中?

我不太了解函数或ip,以确定我的列结构应该如何存储它.有什么建议?

php mysql

5
推荐指数
1
解决办法
4193
查看次数

在存储之前加密用户的IP地址

我正在使用PHPMySQL,我想将用户的IP地址存储到数据库中以进行比较(例如,每个IP只允许一个标志到一个线程).可以通过以下方式进行吗?

在PHP中检索它:

$ipAddress = md5($_SERVER["REMOTE_ADDR"]);
Run Code Online (Sandbox Code Playgroud)

然后将其保存到数据库中VARCHAR(32).

如果我不得不更全面地使用IP,我认为这不是正确的方法,但如果只是为了确保相同的IP没有做两次,那么可以使用md5加密简化事情(将IPv4IPv6地址统一为一个)?

php mysql ip ipv4 ipv6

4
推荐指数
1
解决办法
2592
查看次数

从使用 inet_pton() 存储的 MySQL 中获取值

IP 地址是使用 PHP 脚本中的 inet_pton() 存储的。它们存储在数据库的 varbinary(16) 字段中。但是我现在需要查询并返回仅使用 MySQL 存储的 IP 地址,但这似乎有点任务!

我试过使用 MySQL 的 INET_NTOA() 但由于某种原因它只返回 0.0.0.0。谁有想法?

php mysql

3
推荐指数
1
解决办法
1615
查看次数

标签 统计

mysql ×6

php ×5

ipv6 ×4

ip ×2

ipv4 ×1

types ×1