【发布时间】:2026-02-14 11:55:02
【问题描述】:
我有一个名为like 的表。但是每当我必须从中选择数据时,我就会收到这个错误,我发现public.like..但是当我尝试加入两个表时
SELECT *
FROM frame
INNER JOIN public.like
ON like.takerId = frame.likeId;
我收到这个错误
ERROR: syntax error at or near "."
LINE 4: ON like.takerId = frame.likeId;
我也使用公共前缀,但它会抛出
ERROR: column like.takerid does not exist
LINE 4: ON public.like.takerId = frame.likeId;
^
HINT: Perhaps you meant to reference the column "like.takerId".
即使它说的是column like.takerid does not exist,那为什么它给我HINT: Perhaps you meant to reference the column "like.takerId".我不知道,我认为这是like表名的问题,like是一个sql语法,它假设like和一个 sql 语法并抛出错误。我应该更改我的表名吗?或者有什么方法可以让 sql 区分大小写,或者我如何告诉 sql 忽略 like。 public.like 不适用于加入表。
【问题讨论】:
-
您使用保留字作为名称
-
我会推荐
likes。复数不太可能干扰保留字和关键字。而且,表包含多个实体,所以复数是合适的。
标签: sql postgresql quoted-identifier