zoukankan      html  css  js  c++  java
  • PHP 千万级别数据匹配更新

    <?php

    //示例是数据匹配实例,两张表通过关联字段email匹配mobile

    header("content-type:text/html;charset=utf-8");
    set_time_limit(0);

    $con = mysqli_connect("127.0.0.1","root",'','test');
    if(mysqli_connect_error($con)){
    die("数据库连接错误:".mysqli_connect_error());
    }
    //设置查询编码
    $con->query("set names utf8");
    $sql = "SELECT * FROM `shuju` WHERE mobile<1 ";
    //执行sql
    $result = $con->query($sql);
    //查询所有条数,循环取出条数
    while ($row=$result->fetch_array()) {
    $data[] = $row;
    }
    //初始化参数
    $u = $success=$error = 0 ;
    //循环第一张表的查询结果
    foreach($data as $v){
    $email = trim($v['email']);
    //查询关联条件,此处字段在数据库里应设索引
    $map = "email = '$v['email']";
    //根据关联条件查询第二张表
    $sql2 = "SELECT * FROM `new` WHERE $map";
    $r = mysqli_query($con,$sql2);
    //从数据库中取出单条记录
    $ree = mysqli_fetch_assoc($r);
    if(!empty($ree)){
    $success++;
    //模糊匹配
    // $where = 'email like "%'.$email.'%"';
    //==匹配
    $where = "email = '$email'";
    $sql3 = "UPDATE `shuju` set `mobile`=".$ree['mobile']."WHERE $where";
    $ba = mysqli_query($con,$sql3);
    if($b==true){
    $su++;
    }
    }else{
    $error++;
    }
    }
    echo '成功数:'.$success.'<br/>';
    echo '更新成功数:'.$su.'<br/>';
    echo '找不到匹配的:'.$error.'条';

  • 相关阅读:
    《需求分析与系统设计》第二篇阅读体会
    《需求分析与系统设计》第一篇阅读体会
    《编写有效用例》第二篇阅读体会
    项目目标文档
    字符流
    字节流
    递归
    File类
    JDBC接口和工具类
    异常
  • 原文地址:https://www.cnblogs.com/ayanboke/p/6882979.html
Copyright © 2011-2022 走看看