thinkphp如何同时向数据库插入多条数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp如何同时向数据库插入多条数据?相关的知识,希望对你有一定的参考价值。

我现在随机获得了几条数据比如
array(2)
[0]=>
array(4)
["id"]=>
string(2) "15"
["nameid"]=>
string(8) "zhangyub"
["hunponame"]=>
string(7) "绔犻奔b"
["pinji"]=>
string(1) "3"

[1]=>
array(4)
["id"]=>
string(1) "3"
["nameid"]=>
string(7) "baoshia"
["hunponame"]=>
string(7) "瀹濈煶a"
["pinji"]=>
string(1) "4"



现在是两条,可是也可能是十几条,我要如何将这些获得的数据同时的插入数据库内呢?麻烦给写个示例!

数据整理好后,批量插入可用addAll方法(仅针对mysql数据库):

$User->addAll($data);

追问

呵呵!内个!刚接触不久,能以我上边两个数组为基础昨个简单的示例吗?就是怎么整理这两条数据?

追答

假设你那个数组就是$data,数据库有相应的字段,如nameid,hunponame
等,那么已经可以直接插入了啊。假设要插入的表名称是table,

$m = M("Table"); // 打开表
$m->addAll($data); // 批量插入

参考技术A

可参考百度经验:thinkphp如何同时向数据库插入多条数据?

如何在oracle数据表中一次性插入多条记录?

看是什么样子的插入法。
如果是从其他的表导入那么用insert into+表名(字段)(字段入围全部可以不写)+as select+字段+from+数据来源表名 where+条件;(注意:前后字段顺序一致)
如果从外部表导入,那么就没什么问题sqllar导入。
如果是需要手动的输入,那么我建议就建立外部表,然后用sqllar去倒,可以每次输入都同时输入一张外部表,然后用sqllar导入,这样就可以了。
参考技术A 插入多条数据通过INSERT INTO ... VALUES ...这样肯定不行。
如果这多条数据是从一个表中提取出来的,可以使用INSERT INTO TABLE SELECT COLUMN(或者是定值) FROM TABLE ...这样的形式来实现多条的插入。
参考技术B insert into doc_data (code,id,value,state)

select '13','川A','成都市公安局交通警察支队车辆管理所',0 from dual

union all select '13','川B','绵阳市公安局交通警察支队车辆管理所',0 from dual

union all select '13','川C','自贡市公安局交通警察支队车辆管理所',0 from dual

union all select '13','川D','攀枝花市公安局交通警察支队车辆管理所',0 from dual

....
...
..
参考技术C 如果是从某一张表里筛选出来了,就用楼上的方法。
如果是单纯的插数据,就只能一条条的插,没有捷径的。
参考技术D insert into table select
(
'B',select typeid from table where userid ='A');

--------------------------
写成这样试试
另外,虚机团上产品团购,超级便宜

以上是关于thinkphp如何同时向数据库插入多条数据?的主要内容,如果未能解决你的问题,请参考以下文章

THINKPHP中如何进行循环插入多条数据

JAVA中,向MYSQL插入多条数据,如何判断如果某记录已经存在就不插入

如何同时往数据库中插入多条记录???

sqlserver 如何向数据库插入多条数据 数据条数不确定

如何使用java代码向oracle数据库一次性插入多条数据

如何用jmeter向mysql数据库中插入多条信息