2017-02-01 17 views
0

아주 간단한 Spring 애플리케이션이 다른 데이터 소스를 사용하여 실행되었다. 이 문은 MySQL 데이터베이스에 완벽하게 잘 실행Liquibase : postgres 실패, mysql - ok

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

하지만, PostgreSQL의에서 작동하지 않습니다 : 그것은에서 나는이 SQL을 포함하는 liquibase 변화 세트가 있습니다.

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

[이 질문에 대한 답변] (http://stackoverflow.com/questions/7869592/how-to-do-an-update-join-in-postgresql) 도움이 될 수 있습니다. – tadman

+0

@tadman 나는 SQL에별로 강하지 않다. 거기에 요약 된 솔루션은 mysql과 postgresql 모두에서 작동합니까? –

답변

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에서는 작동하지 않습니다. 그것은 내 문제를 해결했지만.