【问题标题】:Getting last insert id for mysql after Insert插入后获取mysql的最后一个插入ID
【发布时间】:2011-06-01 20:38:59
【问题描述】:

我有一个这样的查询:

INSERT INTO table1 (field1,field2) VALUES ('$value1','$value2') ON DUPLICATE KEY UPDATE field1 = '$value1'

然后我想获得最后一个插入ID,如果它进行插入,我该怎么做?如果查询最终进行更新,我不想要最后一个插入 ID。有没有办法确定它是更新还是插入?

【问题讨论】:

标签: mysql insert


【解决方案1】:

我想我应该在发布之前搜索该网站。基本上添加这个工作:

id=LAST_INSERT_ID(id)

关于重复更新。我在这里找到了答案:

Duplicate Key Last Insert ID

【讨论】:

    【解决方案2】:

    根据this MySQL Manual Page

    如果一个表包含一个 AUTO_INCREMENT 列和 INSERT ... ON DUPLICATE KEY UPDATE 插入或更新一行, LAST_INSERT_ID() 函数返回 AUTO_INCREMENT 值。

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      • 2017-10-14
      相关资源
      最近更新 更多