2017-09-14 81 views
0

這讓我瘋狂。下面的查詢工作完全罰款在當地,但沒有當我測試它特拉維斯-Cl,並且引發錯誤:Postgresql查詢在本地工作,但在Travis CI上失敗

java.lang.RuntimeException: org.postgresql.util.PSQLException: ERROR: syntax error at or near "select" Position: 39

希望有人能看到的東西我不能。

這裏是我的表:

+----------+---------------+ 
| ways     | 
+----------+---------------+ 
| way_id | bigint  | 
| node_ids | bigint array | 
| rep_lat | float(9)  | 
| rep_lon | float(9)  | 
+----------+---------------+ 

+---------+-----------+ 
| nodes    | 
+---------+-----------+ 
| node_id | bigint | 
| lat  | float(9) | 
| lon  | float(9) | 
+---------+-----------+ 

這裏是我的查詢:

update ways 
set (rep_lat, rep_lon) = 
    ( 
    select lat, lon 
    from nodes 
    where nodes.node_id = ways.node_ids[array_length(ways.node_ids, 1)/2] 
) 

回答

0

奇怪,不管出於什麼原因,這種格式是可以接受的:

UPDATE ways 
SET rep_lat=subq.lat, rep_lon=subq.lon 
FROM (SELECT lat, lon, node_id FROM nodes) as subq 
WHERE subq.node_id = ways.node_ids[array_length(ways.node_ids, 1)/2] 
相關問題