MySQL 通过 INT 列返回不正确的结果

标签 mysql sql

运行以下查询时:

SELECT id,name,verified FROM servers WHERE verified=1 AND enabled=1 AND suspended=0 AND name LIKE '%.net%' || ip LIKE '%.net%' ORDER BY score DESC

MySQL 返回不正确的结果。这是该输入的结果:

+----+-------------------+----------+
| ID |       name        | verified |
+----+-------------------+----------+
| 34 | BlockedUp         |        1 |
|  8 | aliacraft         |        1 |
| 27 | Limitless MC      |        1 |
| 31 | OPCraft           |        1 |
| 33 | LoneWolves Prison |        1 |
| 47 | purpleprison.net  |        0 |
+----+-------------------+----------+

这可能是什么原因?最后一行明显不符合verified=1的要求。

最佳答案

你需要移动

AND name LIKE '%.net%' || ip LIKE '%.net%'

在大括号中

AND ( name LIKE '%.net%' or ip LIKE '%.net%' )

关于MySQL 通过 INT 列返回不正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29707492/

相关文章:

php - 在 Laravel 中处理并发

C# 连接并查询现有的 MongoDb

php - 使用 PHP/MySQL 的评分表

sql - 查询不返回结果(Delphi、Oracle、DBExpress)

MySQL显示整个组,组内按字母顺序排序

sql - mysql 查询排除一组数据,但如果项目包含特定列中的值,则包括该组中的某些项目

MySQL : Drop all existing primary keys and insert a new auto increment primary key

sql - 如何禁用一个用户在 oracle 上的同时连接

sql - 如何将约束类型加入列信息

sql - R中的交互式绘图