在 MySQL 中组合 SELECT 和 UPDATE 查询
将 SELECT 和 UPDATE 查询组合到单个操作中对于优化数据库性能非常有用。在这种情况下,用户希望组合以下查询:
SELECT * FROM table WHERE group_id = 1013 and time > 100;
UPDATE table SET time = 0 WHERE group_id = 1013 and time > 100
虽然子查询方法可能无法提供所需的结果,但有一个解决方案可以在没有子查询的情况下实现目标。此解决方案涉及使用用户定义的变量 (@uids) 来存储更新的行 ID:
UPDATE footable SET foo = 'bar' WHERE fooid > 5 AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) ); SELECT @uids;```
以上是如何在没有子查询的情况下在 MySQL 中更新行并获取更新的 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!