如何一次将大量数据插入到 mySQL 数据库中?

pea*_*ove 2 php mysql

我将文本文件中的数据插入到 mySQL 数据库中,一次将插入大约 6000 个或更多条目。

try {
   $sql = "INSERT INTO data (id,name,date,place) values(?,?,?,?) ";
   $q = $pdo->prepare($sql);
   foreach($data as $row) {
      $q->execute(array($row['id'], $row['name'], $row['date'], $row['place']));
   }
}
catch (PDOException $pe) {
   echo $pe->getMessage();
}
catch (Exception $e ) {
   echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)

我尝试了 3000 个条目,一切正常。但是,如果我要插入更多数据,则发生我的页面是空白的,并且没有将任何内容插入到我的数据库中。

什么可能导致这个问题,我该如何解决?

Ana*_*d G 5

由于您已经有文本文件,因此请使用以下查询

LOAD DATA INFILE 'file/path/to/file.txt' 
INTO TABLE table-name 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
Run Code Online (Sandbox Code Playgroud)

确保文件中的数据与表行按顺序排列。

在这里阅读更多https://dev.mysql.com/doc/refman/5.6/en/load-data.html