위대한 게시물에 따라 업서 트를 구현했습니다 : Insert, on duplicate update in PostgreSQL? 그리고이 스크립트는 psql과 잘 작동합니다. 그러나, 나는 테스트를 위해 사용하는 hsqldb에 같은 쿼리를 실행할 수 없습니다. 내 SQL은 다음과 같습니다 하이퍼 니스와 결합 된 업데이트 및 삽입 사용
UPDATE account set name = ?, email = ?, type = ?, regts = ?, dao_updated = ? WHERE id = ?;
INSERT INTO account (id, name, email, type, regts, dao_created,dao_updated) SELECT ?,?,?,?,?,?,? WHERE NOT EXISTS (SELECT 1 FROM account WHERE id = ?);
내가 오류 메시지가 얻을 :
Caused by: java.sql.SQLSyntaxErrorException: unexpected token: INSERT
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
이 HSQLDB의 한계입니다 또는 내가 뭔가 잘못하고있는 중이 야?
덕분에 사전 레온
감사합니다,하지만 아이디어는 생산을위한 JUnit 테스트 및 psql를위한 HSQLDB를 사용하는, 그리고이 두 가지 방언 작동하지 않습니다 ;-) – Leon