thinkphp數據庫怎么增加數據

thinkphp數據庫增加數據的方法:1、通過insert方法添加一條數據;2、使用data方法配合insert使用來增加一條數據;3、通過向Db類的insertAll方法傳入多條數據。

thinkphp數據庫怎么增加數據

本文操作環境:Windows7系統、thinkphp v5.1版、Dell G3電腦。

thinkphp數據庫怎么增加數據?

添加一條數據

使用 Db 類的 insert 方法向數據庫提交數據

立即學習PHP免費學習筆記(深入)”;

$data?=?['foo'?=>?'bar',?'bar'?=>?'foo']; Db::name('user')->insert($data);

insert 方法添加數據成功返回添加成功的條數,通常情況返回 1

或者使用data方法配合insert使用。

$data?=?['foo'?=>?'bar',?'bar'?=>?'foo']; Db::name('user') ????->data($data) ????->insert();

如果你的數據表里面沒有foo或者bar字段,那么就會拋出異常。

如果不希望拋出異常,可以使用下面的方法:

$data?=?['foo'?=>?'bar',?'bar'?=>?'foo']; Db::name('user')->strict(false)->insert($data);

不存在的字段的值將會直接拋棄。

如果是mysql數據庫,支持replace寫入,例如:

$data?=?['foo'?=>?'bar',?'bar'?=>?'foo']; Db::name('user')->insert($data,?true);

添加數據后如果需要返回新增數據的自增主鍵,可以使用insertGetId方法新增數據并返回主鍵值:

$userId?=?Db::name('user')->insertGetId($data);

insertGetId 方法添加數據成功返回添加數據的自增主鍵

添加多條數據

添加多條數據直接向 Db 類的 insertAll 方法傳入需要添加的數據即可

$data?=?[ ????['foo'?=>?'bar',?'bar'?=>?'foo'], ????['foo'?=>?'bar1',?'bar'?=>?'foo1'], ????['foo'?=>?'bar2',?'bar'?=>?'foo2'] ]; Db::name('user')->insertAll($data);

insertAll 方法添加數據成功返回添加成功的條數

如果是mysql數據庫,支持replace寫入,例如:

$data?=?[ ????['foo'?=>?'bar',?'bar'?=>?'foo'], ????['foo'?=>?'bar1',?'bar'?=>?'foo1'], ????['foo'?=>?'bar2',?'bar'?=>?'foo2'] ]; Db::name('user')->insertAll($data,?true);

也可以使用data方法

$data?=?[ ????['foo'?=>?'bar',?'bar'?=>?'foo'], ????['foo'?=>?'bar1',?'bar'?=>?'foo1'], ????['foo'?=>?'bar2',?'bar'?=>?'foo2'] ]; Db::name('user')->data($data)->insertAll();

確保要批量添加的數據字段是一致的

如果批量插入的數據比較多,可以指定分批插入,使用limit方法指定每次插入的數量限制。

$data?=?[ ????['foo'?=>?'bar',?'bar'?=>?'foo'], ????['foo'?=>?'bar1',?'bar'?=>?'foo1'], ????['foo'?=>?'bar2',?'bar'?=>?'foo2'] ????... ]; //?分批寫入?每次最多100條數據 Db::name('user')->data($data)->limit(100)->insertAll();

推薦學習:《最新的10個thinkphp視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享