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

Controlla se ipv6 è all'interno dell'intervallo

Ecco come farlo funzionare:

  1. Creata un'altra tabella con le stesse colonne, ma network_start_ip e network_last_ip sono VARBINARY(16)
  2. Popolare quella tabella con questa istruzione:INSERT INTO blocks SELECT INET6_ATON(b2.network_start_ip), INET6_ATON(b2.network_last_ip), b2.geoname_id FROM blocks_copy b2;
  3. Quindi, per verificare se l'indirizzo IPv6 è nell'intervallo, devo solo eseguire questa query:SELECT geoname_id FROM blocks b WHERE INET6_ATON('2a01:4ff:ffff:ffff::ffff') BETWEEN b.network_start_ip AND b.network_last_ip