gpt4 book ai didi

mysql - 如何在mysql中的一个查询中转换多个更新查询

转载 作者:行者123 更新时间:2023-11-29 09:46:01 25 4
gpt4 key购买 nike

我必须更新我在查询下面编写的不同行,但是记录很少就可以了,但是执行此操作的方法只是一个查询。我还有其他类似的问题,但没有找到与我的场景匹配的案例。

UPDATE sample_topup SET meta_value='topup'  WHERE meta_key='status' ;
UPDATE sample_topup SET meta_value='Topup' WHERE meta_key='status_label' ;
UPDATE sample_topup SET meta_value='tage-1' WHERE meta_key='stage' ;
UPDATE sample_topup SET meta_value='Stage 1' WHERE meta_key='lapp_stage_label' ;

我想要一个能够提供更快、更流畅执行的解决方案,因为我的表中有超过 10,000,000 条记录。

最佳答案

您可以使用 CASE 表达式检查 meta_key 是否是您想要更新行的元 key 之一。如果匹配,则返回正确的值。否则就是 meta_value,即不改变 meta_value

UPDATE sample_topup
SET meta_value = CASE
WHEN meta_key = 'status' THEN
'topup'
WHEN meta_key = 'status_label' THEN
'Topup'
WHEN meta_key = 'stage' THEN
'tage-1'
WHEN meta_key = 'lapp_stage_label' THEN
'Stage 1'
ELSE
meta_value
END
WHERE meta_key IN ('status',
'status_label',
'stage',
'lapp_stage_label');

关于mysql - 如何在mysql中的一个查询中转换多个更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55650250/

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