本文共 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/