简单的问题,但谷歌无法在合理的时间内提供帮助。好的,我的my_db数据库中有带有id列的用户表。我想运行非常简单的查询
SELECT id FROM user;
Run Code Online (Sandbox Code Playgroud)
但它失败了。
错误:列“id”不存在第 1 行:从用户中选择 id;
你可以想象?
好的,正在运行
SELECT * FROM user;
Run Code Online (Sandbox Code Playgroud)
输出内部postgresql数据库用户的列表,这与我的用户无关,它的数据完全来自另一个[内部]数据库。但是,与 my_db 的连接已建立。
小智 7
user是一个内部函数(和一个保留字),返回当前登录的用户。
要将其用作您自己的标识符,您需要引用它:
select id
from "user"
Run Code Online (Sandbox Code Playgroud)
或者
select id
from public."user".
Run Code Online (Sandbox Code Playgroud)
但您确实应该避免使用保留字作为表名称(或任何需要引用标识符的名称)