请问高手,如何批量进行数据库插入啊
看了好多例子,以及手册,但是都是介绍,单个记录进行插入的,但是如果要批量插入该怎么办啊!insert into new_table(f1,f2,f3)
select f1,f2,f3 from old_table;
现有的例子都是:
$this->db->insert('new_table',$data);
各位大虾啊,救助啊 循环执行 insert,貌似 mysql 本身没有批量插入功能吧。 非常感谢 HEX 及时地回复。 但是应该可以直接调用 SQL 语句吧,我可以在外面组织好 类似 insert into new_table(f1,f2,f3)
select f1,f2,f3 from old_table;
的语句,只要 CI 能够正常调用,并返回执行结果就可以了啊?
还有 $this->db->insert('new_table',$data);
与 $this->db->update('new_table',$data);
是不是都没有返回结果啊?
如果对于有一个自动增量的字段的表,插入时可以不管,系统自动生成,如何得到刚刚新插入记录的自动增量的字段的值呢? 一般这个字段还都是唯一的标识字段的 循环插入太麻烦了,先要从原来表中逐条查询出来,然后一个一个地插入,麻烦还效率低下的。 怎么没有人说话了啊 Acitive Record 没提供的功能你只能用 query 来做了,AR 没这么强大的功能。 谢谢!我也好像看到了,想用这个尝试呢,谢谢啊!HEX
标准插入(insert)
$sql = "INSERT INTO mytable (title, name)
VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")";
$this->db->query($sql);
echo $this->db->affected_rows();
$c = count($file);//计算多少个
$i = 0;
while ($i < $c):
$data = array(
'uid'=>$uid,
'photo'=>$file[$i]['file_name'],
'dateline'=>time()
);
$this->db->insert('model_photos', $data);
$i++;
endwhile;
我是这样的 批量 :victory:
谢谢 hex
谢谢 wrz
页:
[1]