MySQL ON DUPLICATE KEY:检索上次插入/更新 ID
使用 ON DUPLICATE KEY 执行 INSERT 或 UPDATE 语句时,MySQL 的 insert_id () 函数通常返回插入行的 ID。但是,如果语句更新现有行,这种方法就会出现问题。
为了克服此限制并在不执行多个查询的情况下检索插入和更新的行的 ID,MySQL 提供了一个解决方案:
正如 MySQL 文档中提到的,通过将表达式传递给 LAST_INSERT_ID(),您可以使其对更新有意义。具体来说,如果您想在使用 ON DUPLICATE KEY 时检索上次插入或更新的 ID,可以采用以下技术:
假设“id”是 AUTO_INCREMENT 列,请修改 INSERT 语句以包含以下内容:
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE>
在此示例中,对于插入,LAST_INSERT_ID() 将返回新创建的行的 ID。对于更新,它将返回更新的行的 ID,有效地提供一致的方法来检索这两种情况下最后插入或更新的 ID。
以上是如何使用 MySQL 的 ON DUPLICATE KEY 检索上次插入/更新 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!