sql >> Databáze >  >> RDS >> PostgreSQL

Zdá se, že nastavení schématu v PostgreSQL JDBC nefunguje

user je vestavěná funkce (a klíčové slovo). Nemůžete jej tedy skutečně použít jako název tabulky:

psql (10.4)
Type "help" for help.

postgres=# select user;
   user
----------
 postgres
(1 row)

postgres=# select * from user;
   user
----------
 postgres
(1 row)

A protože se jedná o funkci, nemá sloupec name .

postgres=# select name from user;
ERROR:  column "name" does not exist
LINE 1: select name from user;
               ^
postgres=#

Pokud se kvalifikujete na tabulku, pak je jasné, že neodkazujete na funkci, ale na tabulku.

Název tabulky můžete buď vždy kvalifikovat pomocí schématu, nebo použít dvojité uvozovky:select name from "user"; nebo jednoduše najděte název tabulky, který nekoliduje s vestavěnými funkcemi.




  1. Vytvořte propojený server mezi dvěma kontejnery Docker se systémem SQL Server (příklad T-SQL)

  2. Jak mohu vyplnit sloupec náhodnými čísly v SQL? Dostanu stejnou hodnotu v každém řádku

  3. Zastaralé funkce, které je třeba vyjmout ze sady nástrojů – část 1

  4. Jak připojit PHP k MySQL