SELECT * FROM x_home_jilu USE INDEX(dateline) WHERE 1 ORDER BY dateline DESC LIMIT 0,20
发布网友
发布时间:2022-05-14 18:27
我来回答
共1个回答
热心网友
时间:2023-10-21 01:20
USE INDEX(dateline) 这个是用dateline作为查询索引,为了提高查询的执行效率。
前提是这个表添加了dateline作为索引(又叫key)。一般PRIMARY默认的是ID。
`
WHERE 1 这里。没什么特别的地方,估计是为了方便写判断而作的。
打个比方:
$sql="SELECT * FROM [tab] where 1";
if(!$sch_key){ //如果有关键字,在查询中加上
$sql.=" and title like '%".$sch_key."'"
}
if(!$classid){ //如果类ID,在查询中加上
$sql.=" and classid= ".$classid
}
$sql.="order by id desc"
上面是有where 1 的,如果没有那个1,那就麻烦了。那要这么写:
$sql="SELECT * FROM [tab]";
if(!$sch_key){
if(!$classid){
$sql.=" where title like '%".$sch_key."' and classid= ".$classid
}else{
$sql.=" where title like '%".$sch_key."'"
}
}else{
$sql.=" where classid= ".$classid
}
$sql.="order by id desc"
如果查询条件再多点,估计就判断不过来了。