在 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;```
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3