保留字(keywords)

老魚建議盡可能不使用它們在DDL中, 例如拿來當 Table 名稱或欄位(Field)的命名上 , 最主要的理由是潛在的問題風險仍會存在例如在做資料遷移, 使用特定DBMS管理軟體, AP端中間軟體, 這幾者間的互動, 也常因此而產生不少的除錯成本開銷, 與資料遺失的問題.


避開對 SQL 保留字使用在 DDL / DML 是最佳的建議之道, PostgreSQL 列示了一份完整的清單, 供您參考,
SQL
Key Words
, http://www.postgresql.org/docs/current/interactive/sql-keywords-appendix.html#KEYWORDS-TABLE
注意: 對於保留字(SQL)是不分大小寫都視為一體.



範例 - psssowrd (保留字)


不可避免的, 仍會有堅持不對保留字讓步的資料庫操作者, 下面演示了操作的過程.
KeyWords 對 DDL / DML 的影響:


DDL: 必須加上 "xxx"
CREATE TABLE users_account
( userid serial NOT NULL, username character varying(10), "password" character varying(30), groupname character varying(30), CONSTRAINT users_account_pkey PRIMARY KEY (userid) ) WITH (OIDS=FALSE); ALTER TABLE users_account OWNER TO postgres;


DML: 允許省略 "xxx"
INSERT INTO public.users_account 
(username, password, groupname) VALUES ('kuo', 'abcdefg', 'kgroup');


Comments