0
我已經創建了在Postgres如下表...'串行'列自動成爲PostgreSQL中的主鍵嗎?
create table printq (
model varchar(20),
session integer,
timestamp timestamp DEFAULT now(),
id serial);
似乎做的正是我需要它...它自動遞增的ID列,當我使用清除截斷表「 RESTART IDENTITY「它重置序列(這就是爲什麼我重建表的原因 - 用於在截斷時不重新啓動的id列)
無論如何,當我在表上做\ d時,沒有看到關於主鍵的任何信息。
Table "public.printq"
Column | Type | Modifiers
-----------+-----------------------------+-----------------------------------------------------
model | character varying(20) |
session | integer |
timestamp | timestamp without time zone | default now()
id | integer | not null default nextval('printq_id_seq'::regclass)
三個問題:
是ID列已經因爲它的主鍵自動遞增,還是沒有?
如果不是,爲什麼這張表需要一個主鍵,因爲它似乎工作正常?我知道基本上每個表都應該有一個主鍵,但爲什麼呢?
最後,\ d命令告訴我該表是否有主鍵?如果不是,會告訴我什麼?