Liquibase:postgres 失败,mysql - 好的

Liquibase: postgres fails, mysql - ok

一个非常简单的 Spring 应用程序 运行 使用不同的数据源。 在其中我有一个 liquibase 变更集,其中涉及这个 sql:

<sql>
  UPDATE home_description hd
  INNER JOIN home h ON
  hd.id = h.description_id
  SET hd.home_id = h.id
</sql>

虽然这条语句 运行 在 MySQL 数据库上完全没问题,但它不适用于 PostgreSQL。

这是例外情况:

Error: org.postgresql.util.PSQLException: ERROR: syntax error at or near "INNER"
  Position: 46
liquibase.exception.DatabaseException: org.postgresql.util.PSQLException: ERROR: syntax error at or near "INNER"

有没有办法重写 MySQL 和 PostgreSQL 都接受这个语句?谢谢!

<sql>
UPDATE home_description AS hd
SET home_id = h.id
FROM home AS h
WHERE hd.id = h.description_id
</sql>

这在 PostgreSql 中有效,但在 MySql 中无效。虽然它解决了我的问题。