3
我有一個MySQL表設置如下:匹配IP地址與IP範圍?
+---------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+----------------+
| ipaddress_s | varchar(15) | YES | MUL | NULL | |
| ipaddress_e | varchar(16) | YES | | NULL | |
+---------------+-------------+------+-----+---------+----------------+
其中,ipaddress_s和ipaddress_e看起來像:4.100.159.0-4.100.159.255
現在是有辦法,我居然能拿到一行包含給定的IP地址?例如,給定IP地址:「4.100.159.5」,我想要返回上面的行。
SELECT * FROM ranges WHERE ipaddress_s<"4.100.159.5" AND ipaddress_e>"4.100.159.5"
任何建議:所以我想對於一個查詢,看起來是這樣的(因爲在下面我正在考慮IP地址爲字符串,但當然這是錯誤的)?
謝謝!甚至不知道這些功能存在! – Legend 2010-04-24 03:17:18
是......如果性能是一個問題,你可能首先將地址作爲整數存儲在數據庫中。 – WhirlWind 2010-04-24 03:25:56
是的..在刪除此表並創建一個新的過程:) – Legend 2010-04-24 03:42:49