sql >> Database teknologi >  >> RDS >> Mysql

Lagring af IPv6-adresser i MySQL

Hvad med:

BINARY(16)

Det burde være effektivt nok.

I øjeblikket er der ingen funktion til at konvertere tekstuelle IPv6-adresser fra/til binær i MySQL-serveren, som nævnt i fejlrapporten. Du skal enten gøre det i din applikation eller eventuelt lave en UDF (User-Defined Function) i MySQL-serveren for at gøre det.

OPDATERING:

MySQL 5.6.3 har understøttelse af IPv6-adresser, se følgende:"INET6_ATON(udtr.) ".

Datatypen er VARBINARY(16) i stedet for BINARY(16) som jeg foreslog tidligere. Den eneste grund til dette er, at MySQL-funktionerne fungerer for både IPv6- og IPv4-adresser. BINARY(16) er fint til kun at gemme IPv6-adresser og gemmer en byte. VARBINARY(16) skal bruges ved håndtering af både IPv6- og IPv4-adresser.

En implementering til ældre versioner af MySQL og MariaDB, se følgende:"UDVIDELSE AF MYSQL 5 MED IPV6-FUNKTIONER ".



  1. RuntimeError:OperationalError:(2003, Kan ikke oprette forbindelse til MySQL-serveren på 'IP-adressen på forekomsten'

  2. Det er muligt at indsætte data i to forskellige tabeller i mysql med én indsæt forespørgsel php?

  3. De mest almindelige PostgreSQL-fejlscenarier

  4. Brug af parametre med en Oracle ODBC-forbindelse