默认情况下,PhpMyAdmin为每个语句添加WHERE 1

时间:2013-04-21 14:59:34

标签: phpmyadmin

只是一个好奇的问题。为什么phpMyadmin将WHERE 1添加到SQL查询输入框中的每个语句?

例如,

 SELECT * FROM User WHERE 1

2 个答案:

答案 0 :(得分:2)

生成动态查询时,总是拥有WHERE子句比在不需要时使用算法删除它更容易。所有WHERE 1都意味着'一切',如果你在自己的查询中加入WHERE子句,phpMyAdmin将不会附加它。

phpMyAdmin可能通过连接字符串来创建其查询,因此它会生成说$selectStatement$whereStatement$limitStatement,然后将它们全部添加在一起。我不知道它是否仍然如此,但它总是用于添加LIMIT条款,即使在不需要时也是如此。

这只是一种在PHP中构建SQL语句的简单而全面的方法,根本不会影响您的查询结果。

答案 1 :(得分:1)

我的猜测是它是一个有用的指南。我遗憾地犯了几个错误,我忘记添加一个WHERE条款,并且在每个人都意识到我重置所有密码而不只是一个... oops之前必须疯狂地恢复备份!

拥有它不会起到任何功能性的作用,但它可能是一个有用的提醒,然后你像我一样陷入困境。