[英]Fully qualified table name in postgreSQL select query
簡單的問題,但是Google在合理的時間內無法提供幫助。 好的,我的my_db數據庫中的用戶表具有id列。 我想運行非常簡單的查詢
SELECT id FROM user;
但是失敗了。
錯誤:“ id”列不存在第1行:從用戶處選擇ID;
你可以想象?
好的,跑步
SELECT * FROM user;
輸出內部postgresql數據庫用戶列表,這與我的用戶無關,它完全來自另一個[內部]數據庫。 但是,已建立與my_db的連接。
以下查詢可以重寫為
SELECT id FROM my_db.public.user;
其中ID為列,MY_DB是數據庫, 用戶表名, 公共 -是架構。 有關模式的更多信息: http : //www.postgresql.org/docs/9.1/static/ddl-schemas.html因此,您不必重命名表名。
user
是返回當前登錄用戶的內部函數(和保留字)。
要將其用作您自己的標識符,您需要引用它:
select id
from "user"
要么
select id
from public."user".
但是,您應該避免使用保留字作為表名(或任何需要引用標識符的名稱)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.