假设我在对我的一个表执行MySQL INSERT
操作,表中有一个名为item_id
的列,该列被设置为autoincrement
和primary key
。
如何在同一查询中获取新生成的主键item_id
的值?
目前我正在运行第二个查询来检索id,但这似乎不是很好的做法,因为这可能会产生错误的结果...
如果不可能,那么确保检索到正确的id的最佳实践是什么?
假设我在对我的一个表执行MySQL INSERT
操作,表中有一个名为item_id
的列,该列被设置为autoincrement
和primary key
。
如何在同一查询中获取新生成的主键item_id
的值?
目前我正在运行第二个查询来检索id,但这似乎不是很好的做法,因为这可能会产生错误的结果...
如果不可能,那么确保检索到正确的id的最佳实践是什么?
return $this->db->insert_id();
。$idc = DB::table('tb_clients')->insertGetId([
'ide' => $ide,
'nome' => $nome,
'email' => $email
]);
在 $idc 上,您将获得最后一个 ID。
我只是想分享一下我在PHP中处理这个问题的方法,可能有些人觉得这不是一种高效的方式,但相比其他可用选项,这绝对好上100倍。
首先生成一个随机密钥并将其插入到表中创建新行。 然后你可以使用该密钥来检索主键。 使用更新操作添加数据和执行其他操作。
这种做法有助于保护行的安全性并确保正确的主键。
除非没有其他选择,否则我真的不推荐这样做。