Hier is hoe ik het heb laten werken:
- Een andere tabel gemaakt met dezelfde kolommen, maar
network_start_ip
ennetwork_last_ip
zijnVARBINARY(16)
- Die tabel ingevuld met deze instructie:
INSERT INTO blocks SELECT INET6_ATON(b2.network_start_ip), INET6_ATON(b2.network_last_ip), b2.geoname_id FROM blocks_copy b2;
- Vervolgens, om te controleren of het IPv6-adres binnen het bereik valt, hoef ik alleen maar deze query uit te voeren:
SELECT geoname_id FROM blocks b WHERE INET6_ATON('2a01:4ff:ffff:ffff::ffff') BETWEEN b.network_start_ip AND b.network_last_ip