Liquibase:postgres失败,mysql - 好的

时间:2017-02-01 18:50:00

标签: mysql postgresql liquibase-hibernate

一个非常简单的Spring应用程序,可以使用不同的DataSource运行。 在其中我有一个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接受这个的声明?谢谢!

1 个答案:

答案 0 :(得分: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。虽然它解决了我的问题。