Ето как го накарах да работи:
- Създаде друга таблица със същите колони, но
network_start_ip
иnetwork_last_ip
саVARBINARY(16)
- Попълва тази таблица с това изявление:
INSERT INTO blocks SELECT INET6_ATON(b2.network_start_ip), INET6_ATON(b2.network_last_ip), b2.geoname_id FROM blocks_copy b2;
- След това, за да проверя дали IPv6 адресът е в диапазона, просто трябва да изпълня тази заявка:
SELECT geoname_id FROM blocks b WHERE INET6_ATON('2a01:4ff:ffff:ffff::ffff') BETWEEN b.network_start_ip AND b.network_last_ip