我正在使用insert命令通过PHP将一个大型数据集传递到一个MySQL表中,我想知道是否可以通过一个查询一次插入大约1000行,而不是将每个值附加到一个一英里长的字符串的末尾,然后执行它。我使用的是CodeIgniter框架,所以我也可以使用它的功能。
发布于 2009-04-23 02:04:06
虽然您不想执行1000个查询调用,但这样做也没问题:
$stmt= array( 'array of statements' );
$query= 'INSERT INTO yourtable (col1,col2,col3) VALUES ';
foreach( $stmt AS $k => $v ) {
$query.= '(' .$v. ')'; // NOTE: you'll have to change to suit
if ( $k !== sizeof($stmt)-1 ) $query.= ', ';
}
$r= mysql_query($query);根据数据源的不同,填充数组可能与通过file()打开文件并将内容转储到数组中一样简单。
https://stackoverflow.com/questions/779986
复制相似问题