Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Verifique se o ipv6 está dentro do alcance


Aqui está como eu tenho funcionado:
  1. Criou outra tabela com as mesmas colunas, mas network_start_ip e network_last_ip são VARBINARY(16)
  2. Preencheu essa tabela com esta instrução:INSERT INTO blocks SELECT INET6_ATON(b2.network_start_ip), INET6_ATON(b2.network_last_ip), b2.geoname_id FROM blocks_copy b2;
  3. Então, para verificar se o endereço IPv6 está no intervalo, basta executar esta consulta:SELECT geoname_id FROM blocks b WHERE INET6_ATON('2a01:4ff:ffff:ffff::ffff') BETWEEN b.network_start_ip AND b.network_last_ip