Inilah cara saya membuatnya bekerja:
- Membuat tabel lain dengan kolom yang sama, tetapi
network_start_ipdannetwork_last_ipadalahVARBINARY(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