为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PDO 从最后插入的行中获取特定列

使用 PDO 从最后插入的行中获取特定列

PHP
翻过高山走不出你 2023-04-28 15:51:28
我有一个 MySQL 表users,带有自动增量userid列。在我INSERT使用 PDO 新建一个用户行之后,有没有办法获取它的用户标识?我知道,PDO::lastInsertId但我不确定这是否给出了正确的值。根据文档,它给出了“行的 ID”。更一般地说,我可以在不创建新查询的情况下从最后插入的行中获取特定列吗?
查看完整描述

1 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

我有一个 MySQL 表 users,带有自动递增的 userid 列。在我使用 PDO 插入一个新的用户行之后,有没有办法获取它的用户标识?

这正是它的lastInsertId作用:它为您提供最后一次插入的自动递增列的值。但是请注意,如果您的查询一次插入多行,最后插入的行的 ID将被返回。更一般地说,我可以在不创建新查询的情况下从最后插入的行中获取特定列吗?

不。某些数据库支持该returning子句,它允许insert查询从插入的行返回列,但 MySQL 不支持。因此,您确实需要select在 之后运行查询insert,使用最后一个插入 ID 作为过滤器。有人可能会争辩说,如果您只是执行一个insert,您应该知道插入了哪些值(或者您可以推断出您未提供其值的列的默认值)。



查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信