MySQL 中的“where 1=1”语句是什么?

在 MySQL 中,“Where 1=1”导致表的所有行,因为此语句始终为真。下面给出了一个更好地理解这个陈述的例子 -

首先,在 create 命令的帮助下创建一个表。这给出如下 -

mysql> CREATE table WhereConditon
-> (
-> id int,
-> name varchar(100)
-> );

成功创建表后,在插入命令的帮助下插入一些记录对此的查询如下:

mysql> INSERT into WhereConditon values(1,'John');

mysql> INSERT into WhereConditon values(2,'Smith');

mysql> INSERT into WhereConditon values(3,'Bob');

mysql> INSERT into WhereConditon values(4,'David');

现在记录插入成功,可以借助select语句查看表中的记录数。这给出如下 -

mysql> SELECT * from WhereConditon;

执行上述查询后,可以看到表中的所有记录如下 -

+------+-------+
| id   | name  |
+------+-------+
| 1    | John  |
| 2    | Smith |
| 3    | Bob   |
| 4    | David |
+------+-------+
4 rows in set (0.00 sec)

现在,语句 1=1 与 select 语句一起使用以显示表中的名称。所有名称将显示为 1=1 始终为真。

对此的查询如下 -

mysql> select name from WhereConditon where 1=1;

以下是上述查询的输出

+-------+
| name  |
+-------+
| John  |
| Smith |
| Bob   |
| David |
+-------+
4 rows in set (0.00 sec)