在表格中插入多个VALUES

时间:2019-09-05 11:47:01

标签: fat-free-framework

我尝试使用无脂肪框架sql映射器将多个VALUES插入表中。

Docs

问题是它只显示一个值

$db->exec('INSERT INTO mytable VALUES(?,?)',array(1=>5,2=>'Jim'))

由于我有很多记录,需要加快速度,所以我想添加多个

VALUES,如VALUES(?,?),(?,?),?,?);

但是数组看起来如何?

背景。我尝试以这种方式加快导入速度,因为我解析了100k +个csv大文件并将其导入。

1 个答案:

答案 0 :(得分:0)

要做的语法是:

$db->exec("INSERT INTO `table` (`col1`,`col2`) VALUES ('val1','val2'), ('val1','val2'), ('val1', 'val2')");

肯定要使用准备好的语句,我建议首先为占位符生成字符串

VALUES (:q1, :q2), (:q3, :q4), (:q5, :q6)

然后生成绑定

[
   ':q1' => $data['val1'],
   ':q2' => $data['val2'],
   ':q3' => $data['val3'],
   ':q4' => $data['val4'],
   //...
],