32b*_*oat 3 postgresql syntax features reserved-word postgresql-9.1
我是 PostgreSQL 的新手,在使用以下查询时遇到了问题:
SELECT * FROM table1 WHERE ID = 1
Run Code Online (Sandbox Code Playgroud)
错误:列“id”不存在第 2 行:WHERE ID = 1
其中 ID 是我通过 GUI 工具添加的列。
然后我发现 ID 是我当前版本的 PSQL 中的一个关键字,应该被引用。但我无法识别这个 ID 是做什么用的。
在链接页面上有以下通知:
在学习表 C-1 之前,重要的是要了解在 PostgreSQL 中没有保留关键字 (==true) 的事实并不意味着与该词相关的功能没有实现。
所以,ID 没有被标记为 PostgreSQL 关键字,似乎有一个功能与之相关,但我找不到哪个。SELECT ID 本身变成与上面发布的相同的错误消息。
在 PostgreSQL 中,插入一个名为的列
"ID"
Run Code Online (Sandbox Code Playgroud)
是一回事。插入名为的列
ID
Run Code Online (Sandbox Code Playgroud)
是另一个。
create table test (
"ID" integer not null
);
insert into test values (1);
select *
from test
where ID = 1;
ERROR: column "id" does not exist
Run Code Online (Sandbox Code Playgroud)
引用标识符也使其区分大小写,而未引用的名称始终折叠为小写。
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |