gpt4 book ai didi

mysql - 纯 MySQL 循环更新多行

转载 作者:行者123 更新时间:2023-11-29 04:54:42 27 4
gpt4 key购买 nike

我想根据 SELECT sql 查询更新多行。

我想在 SQL SHELL 中全部完成!

这是我的选择:

SELECT @myid := id, @mytitle := title
FROM event
WHERE pid>0 GROUP BY title
ORDER BY start;

然后,我想用这个伪代码做一个更新:

foreach($mytitle as $t)
BEGIN
UPDATE event
SET pid=$myid
WHERE title=$t;
END

但我不知道如何在 SQL 中创建一个循环。

也许有一种方法可以在单个 sql 查询中完成?

我不需要任何 PHP!只有 SQL SHELL 代码!!!

最佳答案

我想用一个 pid 更新每一行,该 pid 带有事件第一次发生的 id。 Start是一个时间戳

我认为这应该可以满足您的需求,但如果它没有(我不确定是否要在 UPDATE 查询中加入子查询),那么您可以改用临时表。

UPDATE
event
JOIN (
SELECT
MIN(pid) AS minPID,
title
FROM
event
WHERE
pid > 0
GROUP BY
title
) AS findPIDsQuery ON event.title = findPIDsQuery.title
SET
event.pid = findPIDsQuery.minPID

关于mysql - 纯 MySQL 循环更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7757465/

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