gpt4 book ai didi

mysql - H2更新加入

转载 作者:可可西里 更新时间:2023-11-01 06:37:06 25 4
gpt4 key购买 nike

作为开发数据库,​​我使用的是 MySQL,而对于测试,我使用的是 H2 数据库。以下脚本在 MySQL 中运行良好,但在 H2 上失败。

UPDATE `table_a`
JOIN `table_b` ON `table_a`.id=`table_b`.a_id
SET `table_a`.b_id=`table_b`.id

在互联网上,我发现 h2 不支持带有 JOINUPDATE 子句。也许有一种方法可以在不使用 JOIN 子句的情况下重写此脚本?

顺便说一下,我正在使用 liquibase。也许我可以用它的 xml 语言编写 UPDATE 子句?

我尝试了以下脚本

UPDATE table_a, table_b
SET table_a.b_id = table_b.id
WHERE table_a.id = table_b.a_id

但我仍然遇到错误。似乎,H2 不支持在一个查询中更新多个表。如何在两个不同的查询中重写此查询以收集 ID 并插入它们?

最佳答案

尝试这样的事情:

update table_a a
set a.b_id = (select b.id from table_b b where b.a_id = a.id)
where exists
(select * from table_b b where b.a_id = a.id)

关于mysql - H2更新加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44409432/

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