【问题标题】:How can i return the id of the last updated record in MySQL?如何返回 MySQL 中最后更新记录的 id?
【发布时间】:2013-07-20 11:12:54
【问题描述】:

我正在使用 PDO 连接到 MySQL。当我向数据库添加新记录并想知道添加的最后一条记录的 id 时,我调用了 PDO 内置的lastinsertid()。但是,这一次我试图返回最后更新的记录。据我所知,PDO::lastInsertId 也应该返回最后更新的 ID。

返回最后插入行的 ID,或序列对象的最后一个值

但在我的情况下,它并没有返回它应该返回的内容。它返回值0
如何配置lastinsertid() 以返回更新查询更新的记录的AUTO_INCREMENT 值?

【问题讨论】:

  • Err...更新时您使用什么字段来识别行?
  • ID 被称为 phone_call_id,它是 AUTO_INCREMENT 值,应该在更新时返回
  • 既然已经知道了,为什么还要返回它?
  • 我不知道我根据给定标准更新的 id 值。因此,如果没有找到符合该条件的记录,我想插入一条新记录。我正在使用 id 值来确定更新是否发生。
  • @Your Common Sense,对不起,我错过了理解你的第一个问题。但我的第二个回答澄清了我用来更新记录的内容。

标签: mysql pdo sql-update lastinsertid


【解决方案1】:

我认为找不到返回上次更新 id 的方法。但是我所做的是通过检查 countRow 方法来完成我正在寻找的事情,因为它返回了受影响的总行数。

所以如果找到记录然后完成,我会进行更新。如果没有找到记录,我会进行插入。

谢谢

【讨论】:

    猜你喜欢
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 2021-01-31
    • 2020-07-22
    • 2010-11-26
    • 1970-01-01
    相关资源
    最近更新 更多