为什么会出现以下查询:
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/