从Mysql中的IP地址剥离点

时间:2017-01-17 15:44:48

标签: mysql replace

我需要从MySQL表'访问'中的IP地址列中剥离点,我使用了以下查询,它有什么问题?

UPDATE 'visits' SET 'IP' = REPLACE('IP', '.', '');

由于

1 个答案:

答案 0 :(得分:2)

对表格和列名称使用反引号`而不是单引号'

UPDATE `visits` SET `IP` = REPLACE(`IP`, '.', '');

尽管如此,这种方法可能会产生问题。

例如您有两个IP:10.1.1.1110.1.11.1

更新后,两者都会变成 - 101111,并且无法分辨哪个是哪个。

正如@Alex在评论中所说,如果你想将IP表示为数值,请考虑使用INET_ATON(),它返回一个整数,表示网络字节顺序中的地址的数值(大端)

UPDATE `visits` SET `IP` = INET_ATON(`IP`);

它将返回IP的唯一编号。

10.1.1.11 - 167837963
10.1.11.1 - 167840513