我正在 CI 中使用加载数据 InFile 上传 500 000 条记录,但有时所有记录都已插入,有时数千条记录未插入到同一个 csv 文件中。
Controller
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)
");
}
最佳答案
如果数据库抛出错误,该功能不会插入任何数据。通常是当列的格式错误(例如日期或小数)时出现这种情况。
如果您可以检测到一个失败的文件,请将其分成较小的批处理并查看值。您甚至可以将其转换为正常的插入命令并使用失败的数据进行测试。 祝你好运!
关于php - 在 CI 中使用加载数据 InFile 上传 500000 条记录,但有时并非所有记录都插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51877255/