pg數據庫表名、字段名大小寫問題


參考:https://blog.csdn.net/zengchaoyue/article/details/8279744

問題描述:

使用pgAdmin新建了一個表user,添加了id、name、enScore三個字段。在user表中添加了幾條記錄后,使用select * from user;查詢沒有問題,會顯示user表中的所有記錄。在執行select name,enScore from user;查詢失敗,提示“column enScore does not exist”。
仔細查看建表腳本,發現enScore加了雙引號,所以修改查詢語句為select name,"enScore" from user;查詢成功。

CREATE TABLE test."user"
(
  id integer NOT NULL,
  name character varying(80) NOT NULL,
  "enScore" double precision NOT NULL,
  CONSTRAINT primarykey PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE test."user"
  OWNER TO test;

結論:

1)pg數據庫對表名、字段名是區分大小寫的,通過pgAdmin建表時正常創建,用SQL語句的時候需要加雙引號,如果jdbc查詢等處,記得使用轉義符號。
2)pg在SQL語句中對大小寫是不敏感的,
例如select id from user;與select ID from user;結果是一樣的,但是select "enScore" from user 是OK的,但select "enscore" from user 是不對的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM