一尘不染

WHERE 1在MySQL查询中的重要性

mysql

进行没有WHERE约束的MySQL查询时,大多数人在查询中使用WHERE 1。但是,省略WHERE 1不会影响查询。两者之间有区别吗?被认为是最佳实践吗?


阅读 191

收藏
2020-05-17

共1个答案

一尘不染

我认为这不是最佳做法,但是人们有时会使用它来简化动态查询的构建。

string sql = "SELECT * FROM mytable WHERE 1 ";
if ( somecondition ) {
   sql += "AND somefield = somevalue ";
}

if ( someothercondition ) {
   sql += "AND someotherfield = someothervalue ";
}

... etc

如果没有WHERE 1in,则需要在每个if块中检查是否需要放入a WHERE或an AND

2020-05-17