Skip to content

Commit 50cc719

Browse files
authored
Merge pull request #1234 from maxmind/fix-mysql-tutorial
Fix IPv4 and IPv6 networks overlap in mysql tutorial
2 parents ad7e8d7 + a89deb9 commit 50cc719

File tree

1 file changed

+21
-7
lines changed
  • content/geoip/importing-databases

1 file changed

+21
-7
lines changed

content/geoip/importing-databases/mysql.md

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,9 @@ same type using MySQL's built-in `inet6_aton` function.
168168
select geoname_id, registered_country_geoname_id, represented_country_geoname_id,
169169
postal_code, latitude, longitude, accuracy_radius
170170
from geoip2_network
171-
where inet6_aton('214.0.0.0') between network_start and network_end
171+
where
172+
length(inet6_aton('214.0.0.0')) = length(network_start)
173+
and inet6_aton('214.0.0.0') between network_start and network_end
172174
limit 1;
173175
```
174176

@@ -193,7 +195,9 @@ so:
193195
select geoname_id, registered_country_geoname_id, represented_country_geoname_id,
194196
postal_code, latitude, longitude, accuracy_radius
195197
from geoip2_network
196-
where inet6_aton('214.0.0.0') between network_start and network_end
198+
where
199+
length(inet6_aton('214.0.0.0')) = length(network_start)
200+
and inet6_aton('214.0.0.0') between network_start and network_end
197201
order by network_end
198202
limit 1;
199203
```
@@ -215,7 +219,9 @@ database:
215219
select geoname_id, registered_country_geoname_id, represented_country_geoname_id,
216220
postal_code, latitude, longitude, accuracy_radius
217221
from geoip2_network
218-
where inet6_aton('127.0.0.1') between network_start and network_end
222+
where
223+
length(inet6_aton('127.0.0.1')) = length(network_start)
224+
and inet6_aton('127.0.0.1') between network_start and network_end
219225
order by network_end
220226
limit 1;
221227
```
@@ -235,7 +241,9 @@ select geoname_id, registered_country_geoname_id, represented_country_geoname_id
235241
from (
236242
select *
237243
from geoip2_network
238-
where inet6_aton('214.0.0.0') >= network_start
244+
where
245+
length(inet6_aton('214.0.0.0')) = length(network_start)
246+
and inet6_aton('214.0.0.0') >= network_start
239247
order by network_start desc
240248
limit 1
241249
) net
@@ -257,7 +265,9 @@ select geoname_id, registered_country_geoname_id, represented_country_geoname_id
257265
from (
258266
select *
259267
from geoip2_network
260-
where inet6_aton('127.0.0.1') >= network_start
268+
where
269+
length(inet6_aton('127.0.0.1')) = length(network_start)
270+
and inet6_aton('127.0.0.1') >= network_start
261271
order by network_start desc
262272
limit 1
263273
) net
@@ -360,7 +370,9 @@ select latitude, longitude, accuracy_radius, continent_name, country_name, subdi
360370
from (
361371
select *
362372
from geoip2_network
363-
where inet6_aton('214.0.0.0') >= network_start
373+
where
374+
length(inet6_aton('214.0.0.0')) = length(network_start)
375+
and inet6_aton('214.0.0.0') >= network_start
364376
order by network_start desc
365377
limit 1
366378
) net
@@ -409,7 +421,9 @@ select latitude, longitude, accuracy_radius,
409421
from (
410422
select *
411423
from geoip2_network
412-
where inet6_aton('214.0.0.0') >= network_start
424+
where
425+
length(inet6_aton('214.0.0.0')) = length(network_start)
426+
and inet6_aton('214.0.0.0') >= network_start
413427
order by network_start desc
414428
limit 1
415429
) net

0 commit comments

Comments
 (0)