博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP TP5 连接postgres数据库,获取新增数据主键值
阅读量:4096 次
发布时间:2019-05-25

本文共 1183 字,大约阅读时间需要 3 分钟。

TP5 文档中::说明:新增数据,如果要获取新增数据的自增ID 

1.     使用Model,可以使用下面的方式:

$user           = new User;$user->name     = 'thinkphp';$user->email    = 'thinkphp@qq.com';$user->save();// 获取自增IDecho $user->id;

注意这里其实是获取模型的主键,如果你的主键不是id,而是user_id的话,其实获取自增ID就变成这样:

$user           = new User;$user->name     = 'thinkphp';$user->email    = 'thinkphp@qq.com';$user->save();// 获取自增IDecho $user->id;

2.      使用Db,添加数据后如果需要返回新增数据的自增主键,可以使用
getLastInsID
方法:

Db::name('user')->insert($data);$userId = Db::name('user')->getLastInsID();

或者直接使用insertGetId方法新增数据并返回主键值:

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

insertGetId 方法添加数据成功返回添加数据的自增主键

====================================================================
在我使用中

 一、       使用 postgresql 或 oracle等数据库,想获取新增数据,如果要获取新增数据的ID 

因为上述数据库主键生成策略,采用 sequence 方式

我在实际使用过程中用model中 save($data,false,'user_id_seq') 方法,并不能得到新增主键

只有使用Db 操作 ,能得到新增数据的主键值

$userId = Db::name('user')->insertGetId($data,false,'user_id_seq');

Db::name('consumer')->insert($data);        $userId = Db::name('user')->getLastInsID('user_id_seq');

=====================================================================

二、        使用 Mysql,SQL Server 数据库,因为采用identity(自增主键生成机制)。

        如果要获取新增数据的自增ID ,就可以按照文档的说明来

1.     使用Model  和   2.      使用Db    都没有问题

转载地址:http://celii.baihongyu.com/

你可能感兴趣的文章
【C#】身份证本地验证
查看>>
【Unity】坑爹的Bug
查看>>
【算法】求数组中某两个数的和为目标值
查看>>
如何高效学习动态规划?
查看>>
动态规划法(六)鸡蛋掉落问题(一)
查看>>
奇异值分解(SVD)的原理详解及推导
查看>>
算法数据结构 思维导图学习系列(1)- 数据结构 8种数据结构 数组(Array)链表(Linked List)队列(Queue)栈(Stack)树(Tree)散列表(Hash)堆(Heap)图
查看>>
【机器学习】机器学习系统SysML 阅读表
查看>>
最小费用最大流 修改的dijkstra + Ford-Fulksonff算法
查看>>
最小费用流 Bellman-Ford与Dijkstra 模板
查看>>
实现高性能纠删码引擎 | 纠删码技术详解(下)
查看>>
scala(1)----windows环境下安装scala以及idea开发环境下配置scala
查看>>
zookeeper(3)---zookeeper API的简单使用(增删改查操作)
查看>>
zookeeper(4)---监听器Watcher
查看>>
zookeeper(2)---shell操作
查看>>
mapReduce(3)---入门示例WordCount
查看>>
hbase(3)---shell操作
查看>>
hbase(1)---概述
查看>>
hbase(5)---API示例
查看>>
SSM-CRUD(1)---环境搭建
查看>>