可能重复:
IPv6地址的文本表示的最大长度?
作为存储客户端IP地址的数据库列的最大大小,您会建议什么?我现在把它设置为16,但是我可以获得比IPv6更长的IP地址吗?
我应该选择什么数据类型在SQL Server中存储IP地址?
通过选择正确的数据类型,可以很容易地按IP地址进行过滤吗?
mysql中IP地址的正确字段类型是什么?什么是使用PHP存储它的正确方法?
MS SQL Server中是否有4字节的unsigned int数据类型?
我被迫使用bigint吗?
有没有人知道我可以使用4个字节而不是使用8个字节和bigint来保存无符号整数(0到4294967295)的任何工作?
我知道我们可以创建用户定义的数据类型并为它们创建约束以不允许负值,但仍然不允许我输入超过2147483647的值.我只想使用4个字节但能够保存大于2147483647的整数值但是小于4294967295.
我使用 SQLITE3 PDO 通过 PHP 连接到我的 SpiceWorks 数据库。我正在尝试按 IP 地址顺序显示设备列表。这是我当前的查询:
SELECT name, ip_address FROM `devices` ORDER BY ip_address
Run Code Online (Sandbox Code Playgroud)
这样做的问题是它像这样奇怪地组织它们:

有什么简单的方法可以解决这个问题吗?
我无法编辑数据库,因为它会通过 SpiceWorks 关闭。我需要一种在 SQL 中执行此操作的方法。
我读到在数据库中存储IP地址的最佳方法是创建一个Unsigned Int(10)字段.如何使用PHP转换IP地址?我试过用了
$this->ip = long2ip($_SERVER['REMOTE_ADDR']);
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.我找到了使用它将其转换回IP地址的方法
$this->ip = sprintf("%u", ip2long($result['ip']));
Run Code Online (Sandbox Code Playgroud)
我最初如何转换IP地址?我应该使用PHP吗?或者更好地集成到MySQL查询中?
sql ×5
php ×3
database ×2
ip ×2
sql-server ×2
t-sql ×2
types ×2
field ×1
ip-address ×1
mysql ×1
optimization ×1
spiceworks ×1
sqlite ×1