Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新大型数据集_Php_Mysql_Sql Update_Bulkupdate - Fatal编程技术网

Php 更新大型数据集

Php 更新大型数据集,php,mysql,sql-update,bulkupdate,Php,Mysql,Sql Update,Bulkupdate,我可以上传一个包含3000条记录的csv文件,但当我尝试更新时,需要很长时间,这导致请求超时错误 插入: $sqlInsert = "INSERT ignore into datanyc (`Symbol`,`Data_date`,`Open`,`High`,`Low`,`Last`,`Volume`) values ('".$column0."','".$dataDate."','".$column[2]."','".$column[3]."',

我可以上传一个包含3000条记录的csv文件,但当我尝试更新时,需要很长时间,这导致请求超时错误

插入:

$sqlInsert = "INSERT ignore into datanyc (`Symbol`,`Data_date`,`Open`,`High`,`Low`,`Last`,`Volume`)
                values ('".$column0."','".$dataDate."','".$column[2]."','".$column[3]."',
                '".$column[4]."','".$column[5]."','".$column[6]."')";                       
更新声明:

$date_query="SELECT max(Data_date) as Prev_date FROM datanyc WHERE Data_date < '$dataDate' ";
$date_result=mysqli_query($con,$date_query);
$fetch=mysqli_fetch_array($date_result);
$Prevdate=$fetch['Prev_date'];
$temp="SELECT Last as last, Symbol as symbol FROM datanyc WHERE Data_date = '$Prevdate'";
$date1=mysqli_query($con,$temp);
while($row=mysqli_fetch_array($date1))
{
    //array_push($symbol,$row['symbol']);
    //array_push($last,$row['last']);
    $qry="UPDATE datanyc SET Prevclose = '".$row['last']."' WHERE Symbol LIKE '".$row['symbol']."' AND Data_date= $dateDate";
    mysqli_query($con,$qry);
    //$date=$row['max(Data_date)'];
}
$date\u query=“选择max(Data\u date)作为datanyc中的上一个日期,其中Data\u date<'dataDate';
$date\u result=mysqli\u查询($con,$date\u查询);
$fetch=mysqli\u fetch\u数组($date\u result);
$Prevdate=$fetch['Prev_date'];
$temp=“选择Last作为Last,Symbol作为datanyc中的Symbol,其中Data_date='$Prevdate';
$date1=mysqli_查询($con,$temp);
while($row=mysqli\u fetch\u数组($date1))
{
//数组推送($symbol,$row['symbol']);
//数组推送($last,$row['last']);
$qry=“UPDATE datanyc SET Prevclose=”“$row['last']”。“WHERE Symbol LIKE”“。$row['Symbol']”和Data_date=$dateDate”;
mysqli_查询($con,$qry);
//$date=$row['max(数据_-date)';
}

首先,在
符号
数据_日期
列上添加索引

其次,将更新查询更改为一个查询,这样就不需要像这样在循环中更新:

$sql=“更新
datanyc作为
a.symbol=b.symbol上的内部联接数据nyc b
b.Data_date=“$Prevdate”
设置a.Prevclose=b.last”;
$date1=mysqli_查询($con,$sql);

首先,在
符号
数据_日期
列上添加索引

其次,将更新查询更改为一个查询,这样就不需要像这样在循环中更新:

$sql=“更新
datanyc作为
a.symbol=b.symbol上的内部联接数据nyc b
b.Data_date=“$Prevdate”
设置a.Prevclose=b.last”;
$date1=mysqli_查询($con,$sql);

为什么要尝试通过PHP提取所有数据?通过查询在MySQL上执行所有更新操作,无需将数据选择到PHP中。因为我正在尝试创建一个完整的网站。当您想要制造汽车并驾驶时,您需要组装汽车并驾驶,您不需要将汽车部件拖到目的地……我尝试使用内部连接进行单个查询,但遇到了相同的问题为什么您要尝试通过PHP提取所有数据?通过查询在MySQL上执行所有更新操作,无需将数据选择到PHP中。因为我正在尝试创建一个完整的网站。当您想要制作一辆汽车并驾驶时,您需要组装汽车并驾驶,您不需要将汽车部件拖到目的地……我尝试使用内部联接进行单个查询,但遇到了相同的问题