一个非常简单的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接受这个的声明?谢谢!
答案 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。虽然它解决了我的问题。