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



我正在使用 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)
");
}

如果数据库引发错误,该功能不会插入任何数据。通常是当列具有错误的格式(如日期或十进制数字(时。

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

最新更新