同时在MYSQL和H2中工作的更新查询

同时在MYSQL和H2中工作的更新查询,mysql,h2,Mysql,H2,我想我对mysql和h2都有查询,但有人能想出一个对这两个都有效的查询吗 该表有一个外键到它自己的主键,我想将一个字段值向下复制到继承权 mysql查询如下所示: UPDATE data p, data c SET c.field=p.field WHERE p.id=c.linkid AND p.level = 0; UPDATE data c SET c.field=(SELECT p.field FROM data p WHERE p.id=c.linkid AND p.level=0)

我想我对mysql和h2都有查询,但有人能想出一个对这两个都有效的查询吗

该表有一个外键到它自己的主键,我想将一个字段值向下复制到继承权

mysql查询如下所示:

UPDATE data p, data c SET c.field=p.field WHERE p.id=c.linkid AND p.level = 0;
UPDATE data c SET c.field=(SELECT p.field FROM data p WHERE p.id=c.linkid AND p.level=0)
WHERE EXISTS(SELECT * FROM data p WHERE p.id=c.linkid AND p.level=0);
h2查询如下所示:

UPDATE data p, data c SET c.field=p.field WHERE p.id=c.linkid AND p.level = 0;
UPDATE data c SET c.field=(SELECT p.field FROM data p WHERE p.id=c.linkid AND p.level=0)
WHERE EXISTS(SELECT * FROM data p WHERE p.id=c.linkid AND p.level=0);

想要一个通用查询的原因是,生产系统是mysql,但我在maven中有单元测试,我希望测试可以在任何地方运行,并且不依赖于本地mysql数据库。

您打算改装所有查询吗?如果我能得到一个通用查询,我将更改为它,以提高测试覆盖率。目前,我“尝试”mysql,如果出现异常,我会尝试h2。这是对我的产品代码进行测试查询的争论。我只是好奇,鉴于其他繁重的任务,仅使用mysql的任务有多么繁重。这是一个公平的问题。不太繁重,但我希望能够签出一个maven项目并构建它,而不需要在平台上除了maven和java之外的任何东西。事实上,我刚刚在一些测试中添加了一个手动切换到测试mysql数据库。您是否尝试过在mysql中使用H2查询?它支持相关子查询。