doutuo1939 2018-11-25 06:49
浏览 101

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

I need to upload csv and import this data to MySQL table.

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

1条回答 默认 最新

  • dongse5528 2018-11-25 06:57
    关注

    Perhaps the fastest way to bulk load data from PHP into MySQL is to use the LOAD DATA tool, something like this:

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

    This answer loads records with only the email field being assigned. If you want to assign a value for the id and type columns, then you will need a CSV file containing these values.

    评论

报告相同问题?

悬赏问题

  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源