簡體   English   中英

錯誤:關系列不存在 PostgreSQL,無法運行插入查詢

[英]ERROR: column of relation does not exist PostgreSQL ,Unable to run insert query

嗨,我正在嘗試將表 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 中的標准,也可以不使用引號

如果用雙引號定義列,那么在引用列時一般需要使用它們:

insert into tester3 ("UN0", "UN1")
     values ( 1, 'jishnu1');

我建議您從CREATE TABLE語句中的列名中刪除雙引號。

如果名稱全部為小寫,則不需要雙引號。

嘗試在您的列名中使用雙引號

insert into tester3 ("UN0", "UN1") values ( 1, 'jishnu1');

我有我的 Qgis + POSTGRES DATA 數據庫的故事 我嘗試通過 Navicate UPDATE "MangLuoi"."A_Lam_D310" SET "MangLuoi"."A_Lam_D310"."Nguon"='Lâm' 和 ERRO : SQL] 用代碼更新我的表更新 "MangLuoi"."A_Lam_D310" SET "MangLuoi"."A_Lam_D310"."Nguon"='Lâm'

[Err] ERROR:關系“A_Lam_D310”的“MangLuoi”列不存在第1行:UPDATE“MangLuoi”."A_Lam_D310" SET "MangLuoi"."A_Lam_D310"."...

現在我嘗試 UPDATE "MangLuoi"."A_Lam_D310" SET "Nguon"='Lâm'

IT 顯示正常 :)) 通過消息:時間:0.035s

受影響的行:29

感謝分享和解答。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM