0

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

<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 都接受的语句?谢谢!

4

1 回答 1

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

这适用于 PostgreSql,但不适用于 MySql。虽然它解决了我的问题。

于 2017-02-01T20:12:44.603 回答