我有下表user
,我想从表中选择group_id,但是当我执行以下查询时,它会给我一个错误
select u.name,u.group_id from user u
错误:
列u.group_id不存在
如何从表中选择组ID?
答案 0 :(得分:3)
user
是保留关键字,您需要use double quotes才能使用它:
select u.name, u.group_id
from "user" u;
但引用标识符从长远来看会给你带来很多麻烦,你应该找到一个不需要使用双引号的名称。
user
不仅是保留关键字,还是功能,它返回当前登录的用户。如果你不引用关键字,Postgres会假设你指的是函数 user
,例如:像这样:
select * from user;
user
--------------------
a_horse_with_no_name
该结果显然没有名为group_id
(或name
的列),这就是您收到错误的原因。