只是一个好奇的问题。为什么phpMyadmin将WHERE 1
添加到SQL查询输入框中的每个语句?
例如,
SELECT * FROM User WHERE 1
答案 0 :(得分:2)
生成动态查询时,总是拥有WHERE
子句比在不需要时使用算法删除它更容易。所有WHERE 1
都意味着'一切',如果你在自己的查询中加入WHERE
子句,phpMyAdmin将不会附加它。
phpMyAdmin可能通过连接字符串来创建其查询,因此它会生成说$selectStatement
,$whereStatement
和$limitStatement
,然后将它们全部添加在一起。我不知道它是否仍然如此,但它总是用于添加LIMIT
条款,即使在不需要时也是如此。
这只是一种在PHP中构建SQL语句的简单而全面的方法,根本不会影响您的查询结果。
答案 1 :(得分:1)
我的猜测是它是一个有用的指南。我遗憾地犯了几个错误,我忘记添加一个WHERE
条款,并且在每个人都意识到我重置所有密码而不只是一个... oops之前必须疯狂地恢复备份!
拥有它不会起到任何功能性的作用,但它可能是一个有用的提醒,然后你像我一样陷入困境。