Oto jak to działa:
- Utworzono kolejną tabelę z tymi samymi kolumnami, ale
network_start_ip
inetwork_last_ip
sąVARBINARY(16)
- Wypełnij tę tabelę tą instrukcją:
INSERT INTO blocks SELECT INET6_ATON(b2.network_start_ip), INET6_ATON(b2.network_last_ip), b2.geoname_id FROM blocks_copy b2;
- Następnie, aby sprawdzić, czy adres IPv6 jest w zakresie, wystarczy uruchomić to zapytanie:
SELECT geoname_id FROM blocks b WHERE INET6_ATON('2a01:4ff:ffff:ffff::ffff') BETWEEN b.network_start_ip AND b.network_last_ip