小编Tro*_*gan的帖子

如何在 MySQL 中使用 INET_ATON 对 IP 地址进行通配符搜索?

我发现这种使用 INET_ATON 将 IP 地址作为整数存储在 MySQL 数据库中的方法:https ://stackoverflow.com/a/5133610/4491952

由于 IPv4 地址的长度为 4 个字节,因此您可以使用正好为 4 个字节的INT( UNSIGNED)

`ipv4` INT UNSIGNED
Run Code Online (Sandbox Code Playgroud)

INET_ATONINET_NTOA它们转换:

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
Run Code Online (Sandbox Code Playgroud)

对于 IPv6 地址,您可以改用 a BINARY

`ipv6` BINARY(16)
Run Code Online (Sandbox Code Playgroud)

并使用PHP 的inet_ptonandinet_ntop进行转换:

'INSERT INTO `table` (`ipv6`) VALUES ("'.mysqli_real_escape_string(inet_pton('2001:4860:a005::68')).'")'
'SELECT `ipv6` FROM `table`'
$ipv6 = inet_pton($row['ipv6']);
Run Code Online (Sandbox Code Playgroud)

但是如何使用 INET_ATON 和 PHP 的 ip2long 函数进行通配符搜索,例如 192.168.%?

php mysql inet-aton ip2long

2
推荐指数
1
解决办法
1524
查看次数

如何在没有 DROP/TRUNCATE 命令权限的情况下清空表?

我收到这个错误。

在此输入图像描述

我的客户说没有选择给予我这些特权。这是一个非常受限制的 cPanel 或其他东西。

所以我需要找到一种方法来清空表,并重置增量值等,而无需具有 DROP 命令权限。有什么建议么?

mysql phpmyadmin

0
推荐指数
1
解决办法
2438
查看次数

标签 统计

mysql ×2

inet-aton ×1

ip2long ×1

php ×1

phpmyadmin ×1