我将文本文件中的数据插入到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();
}我尝试了3000条条目,一切都很好。但是,如果我有更多的数据要插入,发生的情况是,我的页面是空白的,没有任何插入到我的数据库。
是什么导致了这个问题,我该如何解决呢?
发布于 2015-11-19 09:29:31
既然您已经有文本文件,那么请使用下面的查询
LOAD DATA INFILE 'file/path/to/file.txt'
INTO TABLE table-name
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;确保文件中的数据与表行的顺序一致。
在这里阅读更多https://dev.mysql.com/doc/refman/5.6/en/load-data.html
发布于 2015-11-19 09:28:02
使用值语法的NSERT语句可以插入多行。为此,请包含多个列值列表,每个列值括在括号内,并以逗号分隔。示例:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);发布于 2015-11-19 09:28:14
与其在一个循环中运行多个查询,不如使用多插入语法。示例:
INSERT INTO data (id,name,date,place) VALUES (:id1,:name1,:date1,:place1), (:id2,:name2,:date2,:place2), (:id3,:name3,:date3,:place3);使用准备好的语句执行多个插入时,请检查这篇文章。
https://stackoverflow.com/questions/33799713
复制相似问题