mysql - 从 Mysql 中的 IP 地址中删除点

标签 mysql replace

我需要从 MySQL 表“访问”中的 IP 地址列中去除点,我使用了以下查询,它有什么问题吗?

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

谢谢

最佳答案

使用反引号 ` 代替单引号 ' 表名和列名

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

关于mysql - 从 Mysql 中的 IP 地址中删除点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41701358/

相关文章:

mysql - 我怎样才能加入空?

php - 我如何更新或插入比较数据库中的两个字段

python - 将 [ ] 替换为 raw_input

php - 来自 MySQL 和 PHP 脚本的 Paypal 定期付款

mysql - 返回不存在记录的id

mysql - 错误代码 : 1109. 字段列表中的未知表 'evrz.account'

regex - 如何删除r中字符串中带有 "("的单词?

JavaScript 多个同时替换

java - 将所有出现的字符串替换为java中的特殊字符

loops - 替换具有初始值的变量