如何在MySQL 中存儲IPv6 地址
問題:
MySQL 目前缺少原生的儲存IPv6 位址的功能。在 MySQL 中儲存 IPv6 位址的建議資料類型和方法是什麼?
答案:
資料類型: BINARY(16)
這種資料類型可以有效地儲存二元資料,使其適合IPv6 位址,即128位元二進位
函數:
MySQL 5.6.3 :
- INE位址轉換為二進位表示形式。
- INET6_NTOA(expr):將二進位 IPv6 位址轉換為文字表示形式。
對於較舊的MySQL/MariaDB 版本:
- 您可以建立自己的函數來在IPv6 位址的文字和二進位表示形式之間進行轉換。請參閱「使用 IPV6 函數擴充 MYSQL 5」一文以了解自訂實作。
提示:
- 如果您只使用IPv6位址,與VARBINARY(16) 相比,您可以使用BINARY(16) 儲存一個位元組的儲存空間。然而,VARBINARY(16) 更通用,並且與 IPv6 和 IPv4 位址相容。
- 考慮在應用程式中使用第三方程式庫或模組來處理 IP 位址操作。
以上是如何在MySQL中高效率儲存IPv6位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!