gpt4 book ai didi

mysql - 如何将mysql中的while循环组合到单个更新

转载 作者:行者123 更新时间:2023-11-29 19:31:14 26 4
gpt4 key购买 nike

我有一个名为 _temp 的临时表,其中包含将发送回网页的订单。创建此表后,它会填充除每个订单中的照片数量之外的所有信息(目前它将照片数量设置为 -1,以便我知道它尚未更新)。我想将每个订单中的照片数量更新为正确的数量。我不知道如何在不使用 while 语句并单独检查每个订单的情况下执行此操作。这是我当前正在使用的代码,它工作正常,但速度很慢

SET _current_id = (SELECT old_id FROM _temp WHERE photos = -1 LIMIT 1);

WHILE (_current_id IS NOT NULL) DO
UPDATE _temp SET photos = (SELECT COUNT(f.id) FROM files f WHERE f.file_type = "orders" AND f.table_id = _current_id AND deleted = 0) WHERE old_id = _current_id;
SET _current_id = (SELECT old_id FROM _temp WHERE photos = -1 LIMIT 1);
END WHILE;

最佳答案

update _temp t set t.photos = (SELECT COUNT(f.id) FROM files f WHERE f.file_type = "orders" AND f.table_id = t.old_id AND deleted = 0) WHERE old_id = t.old_id;

关于mysql - 如何将mysql中的while循环组合到单个更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41764155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com