加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

错误:关系列不存在PostgreSQL,无法运行插入查询

发布时间:2020-12-13 16:34:13 所属栏目:百科 来源:网络整理
导读:嗨我试图插入表tester3它使用语法失败 insert into tester3 (UN0,UN1) values ( 1,'jishnu1'); 但 insert into tester3 values ( 1,'jishnu1'); 工作正常. mydb=# CREATE TABLE tester3mydb-# (mydb(# "UN0" integer,mydb(# "UN1" VARCHAR(40)mydb(# );CREAT
嗨我试图插入表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,'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对列名的限制是否适用于插入查询的第一种语法?

编辑:
正如Gordon Linoff所建议的那样使用双引号解决了这个问题.

插入tester3(“UN0”,“UN1”)值(1,’jishnu1′);工作良好

并且正如Frank Heikens所指出的其他列名称在没有引号的情况下工作,其中小写.

Lower case column is the standard within PostgreSQL and also works without quotes

如果使用双引号定义列,则在引用该列时需要使用它们:
insert into tester3 ("UN0","UN1")
     values ( 1,'jishnu1');

我建议你从CREATE TABLE语句中的列名中删除双引号.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读