【发布时间】:2017-11-08 14:48:31
【问题描述】:
作为开发数据库,我使用 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 不支持带有 JOIN 的 UPDATE 子句。也许有一种方法可以在没有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 并插入它们?
【问题讨论】:
标签: mysql database h2 liquibase