首頁 > php框架 > ThinkPHP > thinkphp資料庫怎麼增加數據

thinkphp資料庫怎麼增加數據

藏色散人
發布: 2022-01-10 11:36:38
原創
4391 人瀏覽過

thinkphp資料庫增加資料的方法:1、透過insert方法增加一條資料;2、使用data方法配合insert使用來增加一條資料;3、透過向Db類別的insertAll方法傳入多個資料。

thinkphp資料庫怎麼增加數據

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

thinkphp資料庫怎麼增加資料?

新增一條資料

使用Db 類別的insert 方法向資料庫提交資料

$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影片教學

#

以上是thinkphp資料庫怎麼增加數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板