大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
PHP框架 Laravel Eloquent ORM 批量插入数据是通过传入数组实现的。
创新互联建站网络公司拥有10多年的成都网站开发建设经验,上千家客户的共同信赖。提供成都网站建设、做网站、网站开发、网站定制、友情链接、建网站、网站搭建、响应式网站、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务
比如:
DB::table('users')-insert(array(
array('email' = 'taylor@example.com', 'votes' = 0),
array('email' = 'dayle@example.com', 'votes' = 0),
));
以上是操作表users,执行insert语句,参数是一个数组,封装了两条数据,这里可以自定义数据,insert内部就编程批量插入了。
然后调用save方法:
public static function create(array $attributes)
{
$model = new static($attributes);
$model-save();
return $model;
}
if ($strleng100){
//如果大于100条就每次写入100,休息1秒,然后继续写,直到写完为止
$write_count = floor($strleng/100);
while ($write_count 0){
for ($i=0;$i100;$i++){
echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)";//写100次就休息
}
//echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);";这样可以一次插入多条数据,效率更高
//参考
$write_count -=1 ;
sleep(1);
echo '休息1秒';
}
}
数据整理好后,批量插入可用addAll方法(仅针对Mysql数据库):
$User-addAll($data);
$value
=
'';$query_num
=
5;
//插入数量for($i=1;$i=$query_num;$i++){
$value
.=
"('25','1')";}//mysql
insert有插入多条语法,拼接sql语句,table_name表名
$sql
=
"insert
into
table_name
(memid,online)
values
".$value;//执行,插入$query_num条数据mysql_query($sql);