我需要从 MySQL 表“访问”中的 IP 地址列中去除点,我使用了以下查询,它有什么问题吗?
UPDATE 'visits' SET 'IP' = REPLACE('IP', '.', '');
谢谢
最佳答案
使用反引号 `
代替单引号 '
表名和列名
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
关于mysql - 从 Mysql 中的 IP 地址中删除点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41701358/