mysql - 为什么 "SELECT ... WHERE id=1=0"返回除 id=1 以外的所有行?

标签 mysql sql

为什么会出现以下查询:

SELECT * FROM myTable WHERE id=1=0

返回 myTable 中的所有行,但具有 id=1 的行除外?

myTable 内容:

+----+-------+
| id | value |
+----+-------+
| 1  | dog   |
| 2  | cat   |
| 3  | parrot|
+----+-------+

现在运行:SELECT * FROM myTable WHERE id=1=0

输出:

+----+-------+
| id | value |
+----+-------+
| 2  | cat   |
| 3  | parrot|
+----+-------+

最佳答案

原因是逻辑应该被评估为:

WHERE (id = 1) = 0

这相当于:

WHERE (id = 1) "is false"

或者:

WHERE id <> 1

尝试运行这些示例:

select 1=1=0, 1=2=3, 1=1=0

关于mysql - 为什么 "SELECT ... WHERE id=1=0"返回除 id=1 以外的所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54327222/

相关文章:

java - 初始 SessionFactory 创建失败.java.lang.ClassFormatError

php - php session 变量被覆盖

php - 根据出现次数显示数据 MYSQL

java - 更新一个表列以填充另一表

mysql - 什么数据存储模型用于存储维基百科中的文章

MySQL:GROUP BY自定义日期间隔

sql - 如何创建带有标识列的表

mysql - 自动递增字段不是 SQL 上的主键

java - 使用设置参数在 JPA 查询中插入特殊字符

mysql - SQL : "where condition1 and ( condition2 or condition3)"?如何添加索引