[英]mysql syntax assistance (for postgres query)
您能否建议 mysql 8 的正确语法,它相当于 postgres 以下查询:
IF EXISTS (select 1 FROM aggregator.argument where argumentname = 'DEFAULT_FE_PAGE' AND value = 'NEW')
THEN
update aggregator.argument set value='AA' where name = 'DEFAULT_FE_PAGE';
END IF;
谢谢
鉴于 spencer7593 指出的细微差别,我们只想更新name=DEFAULT_FE_PAGE
的所有行,前提是至少存在一个name=DEFAULT_FE_PAGE
和value=NEW
的行。
我们可以使用多表 UPDATE 来做到这一点:
UPDATE aggregator.argument AS a1
JOIN aggregator.argument AS a2 USING (name)
SET a1.value='AA'
WHERE a2.name = 'DEFAULT_FE_PAGE' AND a2.value='NEW';
这匹配具有两个条件的行a2
,然后将该行连接到具有相同name
的所有行a1
,即使它们具有不同的value
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.