MySQL manque actuellement de fonctions spécifiques pour stocker les adresses IPv6. Cette question concerne l'approche recommandée pour cette tâche.
Type de données recommandé
Le type de données recommandé pour stocker les adresses IPv6 est BINARY(16). Ce type de données représente effectivement l'adresse IPv6 de 128 bits au format binaire.
Fonction d'insertion d'adresses IPv6
Malheureusement, MySQL ne fournit pas de fonction intégrée pour convertir les adresses IPv6 textuelles en binaires. Par conséquent, vous devrez implémenter cette conversion dans votre application ou créer une fonction définie par l'utilisateur (UDF) dans MySQL pour gérer cette tâche.
MySQL 5.6.3 et versions ultérieures
MySQL 5.6.3 a introduit la prise en charge des adresses IPv6. Le type de données pour stocker les adresses IPv6 est désormais VARBINARY(16), et la fonction INET6_ATON(expr) peut être utilisée pour convertir les adresses IPv6 textuelles en binaires.
Pré-MySQL 5.6.3 et MariaDB
Pour les anciennes versions de MySQL et MariaDB, vous pouvez utiliser l'implémentation décrite dans "EXTENDING MYSQL 5 AVEC FONCTIONS IPV6" pour ajouter la prise en charge IPv6. Cette solution fournit des UDF pour la conversion entre les adresses IPv6 textuelles et binaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!