【发布时间】:2019-08-28 09:43:03
【问题描述】:
我正在使用两个具有大日志字符串的 MYSQL 表,例如:“这是一个示例日志条目,IP 地址为 123.456.789”。此外,还有第二个表,其中包含每行中的 IP 地址列表。我想检查日志条目中所有匹配的 IP 地址,并将结果作为日志表中具有匹配 IP 的所有条目。
我已经在 RHEL 服务器上安装了 Mysql 社区版本 5.7.22。
表1:日志表
+-------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+----------------+
| log_id | int(11) | NO | PRI | NULL | auto_increment |
| Id | varchar(30) | NO | | NULL | |
| host | varchar(50) | YES | | NULL | |
| external_id | varchar(40) | NO | | NULL | |
| message | varchar(8000) | YES | | NULL | |
| timestamp | varchar(30) | NO | | NULL | |
+-------------+---------------+------+-----+---------+----------------+
表 2:IP 表
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| ip | varchar(30) | NO | | NULL | |
| id | int(11) | NO | PRI | NULL | auto_increment |
+-----------+-------------+------+-----+---------+----------------+
我正在使用以下查询:
select * from logs where message like '%'ip_table.ip'%';
这是一个语法错误。
还有其他想法可以解决这个问题吗?
【问题讨论】:
-
like concat('%', ip_table.ip, '%');? -
LOG表的哪一列存储IP地址。
标签: mysql sql mysql-error-1064