【发布时间】:2011-04-12 20:29:16
【问题描述】:
有时 phpMyAdmin 会生成如下查询:
SELECT *
FROM `items`
WHERE 1
LIMIT 0 , 30
我想知道WHERE 1 在这样的查询中是否有任何意义。
【问题讨论】:
-
这样做的原因很简单——如果你动态生成一个查询字符串,更容易声明它总是正确的,而不是有一个特殊情况重新排列语句以删除'WHERE ' 子句,当不需要它时。
-
特别是在PHP中,通过将字符串连接在一起来构造SQL语句是很常见的。所以大概在 phpMyAdmin 他们有 $sql = "SELECT * FROM
itemWHERE " 。 $whereClause 他们在其他地方定义了 $whereClause 变量。解决您实际上不需要 where 子句的问题的一种(粗略)方法是使用此技术。 -
phpmyadmin 也将始终使用 LIMIT,即使在不需要它的情况下,出于同样的原因。
标签: sql