PHP: 如何把数组导入MySQL数据库

WBOY
リリース: 2016-06-06 19:50:58
オリジナル
1470 人が閲覧しました

考虑到性能当然不能按数组元素遍历来执行插入操作。 有两个方法可供选择,一种是把数据存入csv文件,然后执行load data infile 还有一种就是类似于sql server里面的bulk insert,使用insert语句插入批量数据,结合PHP的implode函数, 可以很简单的实现大批量

考虑到性能当然不能按数组元素遍历来执行插入操作。

有两个方法可供选择,一种是把数据存入csv文件,然后执行load data infile

还有一种就是类似于sql server里面的bulk insert,使用insert语句插入批量数据,结合PHP的implode函数,

可以很简单的实现大批量数组数据的一次性插入。


$statement = "INSERT INTO table (title, type, customer) VALUES ";
foreach( $data as $row) {
   $statement .= ' ("' . implode($row, '","') . '")';
}
ログイン後にコピー

不过大批量数据的插入,需要注意mysql在内存上有限制:

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_bulk_insert_buffer_size

bulk_insert_buffer_size变量的默认大小为8M, 是指单个线程占用的大小限制,设置为0,表示不做限制。


参考链接:

http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html



by iefreer

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート