gpt4 book ai didi

mysql - SQL 在 SELECT 之后一次更新多行

转载 作者:行者123 更新时间:2023-11-29 10:05:22 25 4
gpt4 key购买 nike

我的示例表:

+------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------+------+-----+---------+-------+
| id | bigint(20) | YES | | NULL | |
| other_id | bigint(20) | YES | | NULL | |
| another_id | bigint(20) | YES | | NULL | |
+------------+------------+------+-----+---------+-------+

+------+----------+------------+
| id | other_id | another_id |
+------+----------+------------+
| 988 | 102 | NULL |
| 989 | 103 | NULL |
| 990 | 104 | NULL |
| 991 | 105 | NULL |
| 992 | 106 | NULL |
| 987 | 101 | NULL |
+------+----------+------------+

我如何在一个查询中选择和更新上表,以达到对每一行执行类似操作的效果:

UPDATE
x
SET
another_id = 987
WHERE
id = 987
AND other_id = 101;
UPDATE
x
SET
another_id = 988
WHERE
id = 988
AND other_id = 102

我不想对每一行运行这样的手动更新,并且希望一次性完成所有操作。

最佳答案

对我来说,您似乎只是想将 another_id 的值设置为 id:

UPDATE
x
SET
another_id = id

如果需要限制更新的行数,您可以在 where 子句中提供一系列 other_id 值:

UPDATE
x
SET
another_id = id
WHERE other_id IN (...) --list the values you want here.

关于mysql - SQL 在 SELECT 之后一次更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52022411/

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