mysql中 where in 用法详解


这里分两种情况来介绍

1、in 后面是记录集,如:

select  *  from  table  where   uname  in(select  uname  from  user); 

 

 

2、in 后面是字符串,如:

select  *  from  table  where   uname  in('1','2','3');

 

注意:这里一定要将字符串用单引号''单个 标注起来;

也可以定义变量
$_str = '1,2,3';
select  *  from  table  where   uname  in($_str);

 

但严禁在in内用两个单引号,会遇到sql语句错误,如下

select  *  from  table  where   uname  in('1,2,3');

 

3、in 后面是数组,其实也就是第二种方法,只不过把需要把数组转换成像第二种方法那样的字符串形式:

//$pieces是含数据的数组

for($i=0;$i<count($pieces);$i++){

  $uname=$uname."'".$pieces[$i]."',";   //将数组转换成字符串,并且以豆号分隔

}

$the_uname ="uname in(".$uname."'')"; //减去字符串的最后一个豆号

select  *  from  table  where    ".$the_uname." ;

 


备注:这种方法的原理其实很简单,二就是把数组编程上面“第2种情况”的形式


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM