用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3779|回复: 4
收起左侧

如何一次就新增多筆資料?

[复制链接]
发表于 2009-2-18 14:36:03 | 显示全部楼层 |阅读模式
按照官方Active Record的方式新增資料時,一般作法如下
PHP复制代码
 
$data = array(
    'title' => 'My title' ,
    'name' => 'My Name' ,
    'date' => 'My date'
);
$this->db->insert('mytable', $data);
 
复制代码

照上面的來看,如果要新增多筆時,好像要寫成下列這樣:
PHP复制代码
 
$dataArray = array(
    array('title' => 'My title1' ,'name' => 'My Name1' , 'date' => 'My date1'),
    array('title' => 'My title2' ,'name' => 'My Name2' , 'date' => 'My date2')
);
foreach($dataArray as $data){
    $this->db->insert('mytable', $data);
}
 
复制代码

可是這樣感覺比較笨,連續執行多次query,效能會拖到,請問有沒有比較簡單的方式?

難道只有自行串SQL Statement嗎?

大家有更好的作法分享嗎
发表于 2009-2-18 14:41:10 | 显示全部楼层
我觉得这样挺好的,最多就是循环更新。
发表于 2009-2-19 18:03:47 | 显示全部楼层
封装到ar里面,表面会好看一点。。。
发表于 2009-2-24 20:09:32 | 显示全部楼层
看别的介绍php的书籍,插入都是如此的。
发表于 2009-2-25 14:25:11 | 显示全部楼层
支持执行n次插入,速度快,楼主方法效率较低

本版积分规则