Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Überprüfen Sie, ob IPv6 in Reichweite ist

Hier ist, wie ich es zum Laufen gebracht habe:

  1. Erstellte eine andere Tabelle mit denselben Spalten, aber network_start_ip und network_last_ip sind VARBINARY(16)
  2. Füllte diese Tabelle mit dieser Anweisung:INSERT INTO blocks SELECT INET6_ATON(b2.network_start_ip), INET6_ATON(b2.network_last_ip), b2.geoname_id FROM blocks_copy b2;
  3. Um zu überprüfen, ob die IPv6-Adresse im Bereich liegt, muss ich dann nur diese Abfrage ausführen:SELECT geoname_id FROM blocks b WHERE INET6_ATON('2a01:4ff:ffff:ffff::ffff') BETWEEN b.network_start_ip AND b.network_last_ip