如何在没有子查询的情况下在 MySQL 中更新行并获取更新的 ID?

Barbara Streisand
发布: 2024-10-26 20:31:02
原创
549 人浏览过

How to Update Rows and Get Updated IDs in MySQL Without a Subquery?

在 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!