ホームページ >データベース >mysql チュートリアル >MySQL に IPv6 アドレスを最適に保存するにはどうすればよいですか?
MySQL には現在、IPv6 アドレスを保存するための特定の機能がありません。この質問では、このタスクに推奨されるアプローチについて説明します。
推奨されるデータ型
IPv6 アドレスを格納するための推奨されるデータ型は BINARY(16) です。このデータ型は、128 ビットの IPv6 アドレスをバイナリ形式で効果的に表します。
IPv6 アドレスを挿入する関数
残念ながら、MySQL には、IPv6 アドレスを挿入するための組み込み関数が提供されていません。テキスト形式の IPv6 アドレスをバイナリに変換します。その結果、この変換をアプリケーションに実装するか、MySQL でユーザー定義関数 (UDF) を作成してこのタスクを処理する必要があります。
MySQL 5.6.3 以降
MySQL 5.6.3 では、IPv6 アドレスのサポートが導入されました。 IPv6 アドレスを格納するデータ型は VARBINARY(16) になり、INET6_ATON(expr) 関数を使用してテキストの IPv6 アドレスをバイナリに変換できます。
MySQL 5.6.3 より前および MariaDB
MySQL と MariaDB の古いバージョンの場合は、次で説明されている実装を使用できます。 IPv6 サポートを追加するには、「EXTENDING MYSQL 5 WITH IPV6 FUNCTIONS」を参照してください。このソリューションは、テキスト形式の IPv6 アドレスとバイナリの IPv6 アドレス間で変換するための UDF を提供します。
以上がMySQL に IPv6 アドレスを最適に保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。