Postgresql查询在本地工作,但在Travis CI上失败
问题描述:
这让我疯狂。下面的查询工作完全罚款在当地,但没有当我测试它特拉维斯-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]
)
答
奇怪,不管出于什么原因,这种格式是可以接受的:
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]