上传包含50000条记录的csv文件并将数据插入mysql

slwdgvem  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(311)

我需要上传csv和导入这个数据到mysql表。

public function insertData()
    {
        while (($column = fgetcsv($file, 10000, ",")) !== FALSE) {
            $query = "INSERT into deleted_users (email)
                   values ('" . $column[0] . "');                $query->execute();
                       }
}
cnwbcb6i

cnwbcb6i1#

也许将数据从php批量加载到mysql的最快方法是使用 LOAD DATA 像这样的工具:

$sql = "LOAD DATA LOCAL INFILE 'path/to/yourfile.csv'
    INTO TABLE deleted_users
    FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '\"' 
    LINES TERMINATED BY '\r\n'
    (@col1)
    SET email = @col1;";
mysqli_query($conn, $sql);

这个答案只加载 email 正在分配的字段。如果要为 id 以及 type 列,则需要包含这些值的csv文件。

相关问题