Just a curiosity question. Why phpMyadmin adds WHERE 1
to every statement in the SQL query input box?
For example,
SELECT * FROM User WHERE 1
Just a curiosity question. Why phpMyadmin adds WHERE 1
to every statement in the SQL query input box?
For example,
SELECT * FROM User WHERE 1
在生成动态查询时,总是有一个WHERE
子句比有一个算法在不需要时删除它更容易。这意味着“一切”,如果您在自己的查询中添加子句,WHERE 1
phpMyAdmin 将不会附加它。WHERE
phpMyAdmin 可能通过连接字符串来创建它的查询,所以它会生成 say $selectStatement
,$whereStatement
然后$limitStatement
将它们加在一起。我不知道它是否仍然这样做,但它总是用来添加一个LIMIT
子句,即使在不需要时也是如此。
这只是在 PHP 中构建 SQL 语句的一种简单而全面的方法,完全不会影响您的查询结果。
我的猜测是它是一个有用的指南。不幸的是,我犯了几个错误,忘记添加一个WHERE
子句,最后不得不疯狂地恢复备份,然后每个人都意识到我重置了他们所有的密码,而不仅仅是一个……哎呀!
把它放在那里没有任何功能性目的,但在你像我一样搞砸之前,它可能是一个有用的提醒。