繁体   English   中英

mysql 语法帮助(用于 postgres 查询)

[英]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_PAGEvalue=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.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM