手册目录
前言[随时更新]
MySQL快速复习
MySQL原生查询
选择数据表
删除数据
聚合查询
时间查询
视图查询
子查询
总结/参考
该方法与模型中的save方法功能一样但有区别,在模型课程中会讲到

源码运行的基本思路
1.获取insert语句SQL:生成器builder类中的insert方法实现;
2.根据参数设定,返回查询结果,如影响记录数或自增主键。

| 序号 | 参数 | 说明 |
|---|---|---|
| 1 | $data[ ] / 数组 | 要插入到表中的数据,键名与字段对应 |
| 2 | $replace / 布尔 | 是否是更新操作,默认不是 |
| 3 | $getLastInsID / 布尔 | 是否返回自增主键,默认不返回 |
| 4 | $sequence / 字符串 | 自增序列号,默认为空 |
| 序号 | 参数 | 返回值 |
|---|---|---|
| 1 | insert($data,false,true) | 返回插入值的主键ID ,如:1020 |
| 2 | insert( ) | 成功则返回插入记录数:int(1) ,即1条 |
$data[ ]:与数组表中记录对应的一维数组,字段名与键名一一对应;
Db::table( 完整数据表 ) -> insert( $data );
Db::table( 完整数据表 ) -> insert( $data,false,true );
返回新增主键ID使用频繁,因此有一个专门方法:insertGetId($data),专门用于插入数据并返回自增主键
Db::table( 完整数据表 ) -> insertGetId($data);
<?php
namespace app\index\controller;
use think\Db;
class Index {
public function index(){
// 1.创建员工信息数组
$data = [];
$data['name'] = '梦姑';
$data['sex'] = 1;
$data['age'] = 18;
$data['salary'] = 6765;
$data['dept'] = 3;
$data['hiredate'] = '2012-10-10';
$result = Db::table('tp5_staff') //设定tp5_staff表
-> insert($data); // 插入数据
//查询运行结果
dump($result);
}
}
int(1) //表示受影响记录条数为1,即成功插入一条记录到当前数据表中
<?php
namespace app\index\controller;
use think\Db;
class Index {
public function index(){
// 1.创建员工信息数组
$data = [];
$data['name'] = '虚竹';
$data['sex'] = 0;
$data['age'] = 28;
$data['salary'] = 4765;
$data['dept'] = 2;
$data['hiredate'] = '2008-08-10';
$result = Db::table('tp5_staff') //设定tp5_staff表
->insertGetId($data); // 插入记录并返回自增主键
//查询运行结果
dump($result);
}
}
int(4) '1020' //表示插入成功,并获取新增数据的自增主键为:1020
insert($data,false,true) 与 insertGetId($data) 运行结果完全一致,显示后者更方便、简洁~~
新增操作是典型的写操作,具有一定的风险。数据写入到数据库之前,必须要做必要的检验工作,后面我们有模型课程,结合校验规则,可以更加安全、方便的操作数据库!
科技资讯
24小时阅读榜
1
2
3
4
5
6
7
8
9
10
精品课程
共5课时 | 18万人学习
共49课时 | 82.1万人学习
共29课时 | 65万人学习
共25课时 | 41.3万人学习
共43课时 | 76.7万人学习