我正在編寫一個(gè)Java用于自動(dòng)構(gòu)建和運(yùn)行SQL查詢的應(yīng)用程序。對(duì)于許多表,我的代碼工作正常,但在某些表上會(huì)拋出以下異常而卡住:Exception in thread "main" org.postgresql.util.PSQLException: ERROR: column "continent" does not exist Hint: Perhaps you meant to reference the column "countries.Continent". Position: 8已運(yùn)行的查詢?nèi)缦拢篠ELECT ContinentFROM network.countriesWHERE Continent IS NOT NULLAND Continent <> ''LIMIT 5這實(shí)際上5從該列返回非空值。我不明白為什么在pgAdmin 4中確實(shí)出現(xiàn)“列不存在”錯(cuò)誤。我可以看到有一個(gè)名稱Network包含該表的架構(gòu),countries并且該表具有一列Continent,與預(yù)期的一樣。由于所有列,模式和表名都是由應(yīng)用程序本身檢索的,所以我認(rèn)為沒(méi)有拼寫或語(yǔ)義錯(cuò)誤,因此PostgreSQL為什么會(huì)引起問(wèn)題?在pgAdmin4中運(yùn)行查詢或使用建議的查詢countries.Continent均有效。我的PostgreSQL版本是到目前為止的最新版本:$ psql --versionpsql (PostgreSQL) 9.6.1如何成功運(yùn)行查詢?
PostgreSQL“列不存在”,但實(shí)際上確實(shí)存在
慕妹3242003
2019-12-06 09:31:01