我可以上傳一個包含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)'];}
1 回答

qq_笑_17
TA貢獻1818條經驗 獲得超7個贊
首先,在和列上添加索引,Symbol
Data_date
其次,將更新查詢更改為一個查詢,這樣您就不需要像這樣循環更新:
$sql = "UPDATE datanyc AS a INNER JOIN datanyc b ON a.symbol = b.symbol AND b.Data_date = '$Prevdate' SET a.Prevclose = b.last";$date1 = mysqli_query($con, $sql);
- 1 回答
- 0 關注
- 131 瀏覽
添加回答
舉報
0/150
提交
取消