所以你遇到了一些问题: 1) 将表从 SQL 复制到 PHP,注意内存使用情况,使用 PHP 命令 Memory_usage() 运行你的脚本。它会告诉你导入 SQL 数据可能很昂贵。看看这个。另一件事是 PHP 在将新值设置为数组时不会释放内存。以后会有用的。
2)我不明白这些值在源表中是唯一的还是在目标表中应该是唯一的。所以我会假设所有源都需要按原样在目标上。我还将假设 pr = pr0 和 quant=pr1。
3)你有不匹配的名字..这也可能是一个问题。会照顾的..也。
4) 将使用 My_sql,因为 SQL 连接器..和 $db 已连接.. 脚本:
<?PHP
$select_sql = "SELECT * FROM Table_source";
$data_source = array();
while($array_data= mysql_fetch_array($select_sql)) {
$data_source[] = $array_data;
$insert_data=array();
}
$bulk =2000;
foreach($data_source as $data){
if(isset($start_query) == false)
{
$start_query = 'REPLACE INTO DEST_TABLE ('ID_','pr0','pr1','pr2')';
}
$insert_data[]=implode(',',$data).',0)';// will set 0 to the
if(count($insert_data) >=$bulk){
$values = implode('),(',$insert_data);
$values = substr(1,2,$values);
$values = ' VALUES '.$values;
$insert_query = $start_query.' '.$values;
$mysqli->query($insert_query);
$insert_data = array();
} //CHECK THE SYNTAX IM NOT SURE OF ALL OF IT MOSTLY THE SQL PART>> SEE THAT THE QUERY IS OK
}
if(count($insert_data) >=$bulk) // IF THERE ARE ANY EXTRA PIECES..
{
$values = implode('),(',$insert_data);
$values = substr(1,2,$values);
$values = ' VALUES '.$values;
$insert_query = $start_query.' '.$values;
$mysqli->query($insert_query);
$insert_data = null;
}
?>
它离开了我的头,但检查这个想法并告诉我这是否有效,错误之夜是我忘记了 QUERY 结构的小东西,打印这个并粘贴到 PHPmyADMIN 或你的数据库查询,看看它都很好,但是这个概念会解决很多问题..