Inilah cara saya membuatnya bekerja:
- Membuat tabel lain dengan kolom yang sama, tetapi
network_start_ip
dannetwork_last_ip
adalahVARBINARY(16)
- Mengisi tabel itu dengan pernyataan ini:
INSERT INTO blocks SELECT INET6_ATON(b2.network_start_ip), INET6_ATON(b2.network_last_ip), b2.geoname_id FROM blocks_copy b2;
- Kemudian, untuk memeriksa apakah alamat IPv6 berada dalam jangkauan, saya hanya perlu menjalankan kueri ini:
SELECT geoname_id FROM blocks b WHERE INET6_ATON('2a01:4ff:ffff:ffff::ffff') BETWEEN b.network_start_ip AND b.network_last_ip