检索 MySQL 中 ON DUPLICATE KEY 更新的 ID
执行 INSERT ON DUPLICATE KEY 查询时,获取受影响行的 ID可能具有挑战性。传统上,这需要运行单独的查询,因为 LAST_INSERT_ID() 通常只返回新插入行的 ID。
但是,有一种解决方法可以利用 LAST_INSERT_ID(expr) 函数。通过将表达式传递给此函数,即使对于更新的行,您也可以使其输出有意义。
解决方案
使用以下命令检索插入或更新的行的 ID单个查询:
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE>
通过在 UPDATE 子句中将 id 列设置为 LAST_INSERT_ID(id),MySQL 将在插入行和更新行的 id 列。
这允许您检索最近操作的 ID (插入或更新)只需调用 LAST_INSERT_ID() 即可。它有效地将 INSERT 和 UPDATE 语句的功能组合到单个查询中。
以上是在 MySQL 中 INSERT ON DUPLICATE KEY UPDATE 后如何检索受影响行的 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!