gpt4 book ai didi

mysql - 不使用循环更新 SQL 表的正确方法

转载 作者:太空宇宙 更新时间:2023-11-03 11:51:29 25 4
gpt4 key购买 nike

我想从 SQL 表中获取值列表,然后使用这些值中的每一个运行查询以更新同一表中的其他字段。在另一种语言中,我会为此使用 for 循环,但我读到应该避免/在 SQL 中不支持循环操作。

概念上(显然代码无效),这就是我想要实现的目标:

my_list = SELECT item_id
FROM my_table
WHERE value = "my_value"
AND field_id = 1

for x in my_list:
UPDATE my_table
SET meta_value = "my_value"
WHERE field_id = 2
AND item_id = x

请问实现此目的的正确方法是 SQL?

最佳答案

尝试使用连接语句进行此更新:

update My_Table t
JOIN My_Table s on(t.item_id = s.item_id
and t.field_id = 2
and s.field_id = 1)
set t.meta_value = 'my_value'
where s.value = 'MY_VALUE'

关于mysql - 不使用循环更新 SQL 表的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35390394/

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