Så här har jag fått det att fungera:
- Skapade en annan tabell med samma kolumner, men
network_start_ip
ochnetwork_last_ip
ärVARBINARY(16)
- Pulerade tabellen med denna sats:
INSERT INTO blocks SELECT INET6_ATON(b2.network_start_ip), INET6_ATON(b2.network_last_ip), b2.geoname_id FROM blocks_copy b2;
- Sedan, för att kontrollera om IPv6-adressen är inom intervallet, behöver jag bara köra den här frågan:
SELECT geoname_id FROM blocks b WHERE INET6_ATON('2a01:4ff:ffff:ffff::ffff') BETWEEN b.network_start_ip AND b.network_last_ip