使用CI中的加载数据InFile上传500000条记录,但有时未插入所有记录

时间:2018-08-16 12:35:48

标签: php mysql codeigniter mysqli

我正在使用CI中的加载数据InFile上传500 000条记录,但有时所有记录已插入,或者有时数千条记录未插入同一csv文件中。

控制器

public function upload_csv_test()
{
    $adminid = $this->session->userdata('aid');
    if(empty($adminid))
    {
        redirect('admin/index');
    }
    else
    { 
        $file_path = "/var/www/html/asset/test_csv/5Lac.csv";
        $sub = $this->Admin_model->add_csv_data($file_path);      
    } 
}

型号

public function add_csv_data($file_path)
{   

    $this->db->query("LOAD DATA LOCAL INFILE '".$file_path."' 
    INTO TABLE test_csv     
    FIELDS TERMINATED BY ','
    LINES TERMINATED BY '\\n' 
    IGNORE 1 LINES
    (cid,latitude,longitude,Email,Personal_FirstName)
    ");

}

1 个答案:

答案 0 :(得分:0)

如果数据库抛出错误,则该功能不会插入任何数据。通常是当列的格式错误,例如日期或十进制数字时。

如果可以检测到一个失败的文件,请将该文件分成几批,然后查看其值。您甚至可以将其转换为普通的插入命令,并使用失败的数据对其进行测试。 祝你好运!