嗨,我正在尝试插入表 tester3,当我使用语法时它失败了
insert into tester3 (UN0, UN1) values ( 1, 'jishnu1');
但
insert into tester3 values ( 1, 'jishnu1');
工作正常。
mydb=# CREATE TABLE tester3
mydb-# (
mydb(# "UN0" integer,
mydb(# "UN1" VARCHAR(40)
mydb(# );
CREATE TABLE
mydb=# insert into tester3 (UN0, UN1) values ( 1, 'jishnu1');
ERROR: column "un0" of relation "tester3" does not exist
mydb=# \d tester3
Table "public.tester3"
Column | Type | Modifiers
--------+-----------------------+-----------
UN0 | integer |
UN1 | character varying(40) |
我想我遗漏了一些非常微不足道的东西,我尝试了其他一些列名,其中一些工作正常,一些不工作。我很困惑。PostgreSQL 对插入查询的第一种语法适用的列名有限制吗?
编辑 :
结帐 Girdon Linoff回答,正如Frank Heikens指出的其他不带引号的列名是小写的。
小写列是 PostgreSQL 中的标准列,也可以不带引号使用