日期:2014-05-17  浏览次数:20387 次

求助php循环批量like查询与修改的方法。
有两表

dataA 标签表
id key tagid
1 关键字 2 tagid(关键字对应的ID)
……



dataB 信息表
id name tagid
1 标题内容 标签对应tagid


dataA表中有将近2K条数据

dataB表中有10W左右的数据


我要将A表的key 与 B表的name匹配 如果存在就将tagid 赋值给B的id

我是这样写的
 
  $sql= …… 查询A表
  foreach($sqlRs as $tkey){ //循环A表的key
  $bsql = "select id from dataB where name like '%".$tkey['key%']."%' ";
  ……
  foreach(){
  循环输出 id  
  $sArray[]=$bRs['id'];
  }
   
  update() //修改相关B的name;
  }



类似这种方法,但是我现在有这么多的数据,A才几千就要花好几分钟。各位帮我想想有没有更好的办法。





------解决方案--------------------
谷歌“tag数据库”,会找到若干文章,一看,便
------解决方案--------------------
LZ 循环查询 更新绝对不可取的。2K 10W 会累死的。
你查一下 case when 的用法。可以试一下。