我需要从MySQL表'访问'中的IP地址列中剥离点,我使用了以下查询,它有什么问题?
UPDATE 'visits' SET 'IP' = REPLACE('IP', '.', '');
由于
答案 0 :(得分:2)
对表格和列名称使用反引号`
而不是单引号'
UPDATE `visits` SET `IP` = REPLACE(`IP`, '.', '');
尽管如此,这种方法可能会产生问题。
例如您有两个IP:10.1.1.11
和10.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