单次插入
最编程
2024-04-13 18:16:14
...
-
insert方法
- 1、功能:插入数据到指定数据表中
- 2、源码位置:/thinkphp/library/think/db/Query.php
- 生成SQL语句的insert方法源码:/thinkphp/library/think/db/Builer.php
- 3、参数与返回值
- 1.参数
- 2.返回值(仅介绍最常用)
-
4、调用语法:
- 1、插入记录,并返回受影响记录数,通常为1
- 2、插入记录,返回新增主键
- 3、插入记录,返回新增主键的另一种实现形式
-
5、实例演示:
- 1、插入记录,并返回受影响记录条数
- 2、插入记录,并返回新增记录的自增主键
- 6、新增操作说明
-
insert方法
insert方法
1、功能:插入数据到指定数据表中
该方法与模型中的save方法功能一样但有区别,在模型课程中会讲到
2、源码位置:/thinkphp/library/think/db/Query.php
源码运行的基本思路
1.获取insert语句SQL:生成器builder类中的insert方法实现;
2.根据参数设定,返回查询结果,如影响记录数或自增主键。
生成SQL语句的insert方法源码:/thinkphp/library/think/db/Builer.php
3、参数与返回值
1.参数
序号 | 参数 | 说明 |
---|---|---|
1 | $data[ ] / 数组 | 要插入到表中的数据,键名与字段对应 |
2 | $replace / 布尔 | 是否是更新操作,默认不是 |
3 | $getLastInsID / 布尔 | 是否返回自增主键,默认不返回 |
4 | $sequence / 字符串 | 自增序列号,默认为空 |
2.返回值(仅介绍最常用)
序号 | 参数 | 返回值 |
---|---|---|
1 | insert($data,false,true) | 返回插入值的主键ID ,如:1020 |
2 | insert( ) | 成功则返回插入记录数:int(1) ,即1条 |
4、调用语法:
$data[ ]:与数组表中记录对应的一维数组,字段名与键名一一对应;
1、插入记录,并返回受影响记录数,通常为1
Db::table( 完整数据表 ) -> insert( $data );
2、插入记录,返回新增主键
Db::table( 完整数据表 ) -> insert( $data,false,true );
3、插入记录,返回新增主键的另一种实现形式
返回新增主键ID使用频繁,因此有一个专门方法:insertGetId($data),专门用于插入数据并返回自增主键
Db::table( 完整数据表 ) -> insertGetId($data);
5、实例演示:
1、插入记录,并返回受影响记录条数
<?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,即成功插入一条记录到当前数据表中
2、插入记录,并返回新增记录的自增主键
<?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) 运行结果完全一致,显示后者更方便、简洁~~
- 全部完成以后,现在表中数据如下:
6、新增操作说明
新增操作是典型的写操作,具有一定的风险。数据写入到数据库之前,必须要做必要的检验工作,后面我们有模型课程,结合校验规则,可以更加安全、方便的操作数据库!
推荐阅读
-
太郎如何动态插入节点
-
CodeMirror 6+ vue3 实现简单公式、插入标签功能
-
MyBatis+MySQL同时执行多个SQL,实现多表插入数据
-
PostgreSQL] GIN 索引安装和使用 - 完全模糊匹配/数组匹配、PG 批量插入数以万计的随机生成数据、随机生成字符串/数组GIN 索引安装和使用 - 全模糊匹配/数组匹配,PG 批量插入数以万计的随机生成数据,随机生成字符串/数组
-
mSC-FDE 单载波频域均衡通信链路的完整 matlab 仿真,包括 UW 序列、QPSK、定时同步、载波同步、MMSE 估计等。
-
使用 docker 运行 etcd 单实例/群集
-
如何将单主站升级为多主站群集-验证证书
-
密码学基础练习 5 RSA、elgamal、elgamal 数字签名、DSA 数字签名、有限域 (GF) 上的二次运算
-
2022 FIT2CLOUD FIT2CLOUD 开源成绩单
-
回忆起第一次在服务器上安装英伟达™(NVIDIA®)Tesla P40 GPU 图形卡的情景