博士后10岁或以上
serial
列(见下文)保持不变.但是考虑101栏.Postgres 10实现了这一标准SQL功能.
Basic syntax and info in the manual for CREATE TABLE
.
Detailed explanation in this blog entry of its primary author Peter Eisentraut.
Create table with IDENTITY
column
CREATE TABLE staff (
staff_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY
, staff text NOT NULL
);
Add IDENTITY
column to existing table
表中可能有行,也可能没有行.
ALTER TABLE staff ADD COLUMN staff_id int GENERATED BY DEFAULT AS IDENTITY;
要同时使其成为PK(表还不能有PK):
ALTER TABLE staff ADD COLUMN staff_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY;
相关的:
Replace serial
with IDENTITY
column
见:
博士后9.6或以上
(Or any version, really.)
Use the serial
pseudo data type instead:
CREATE TABLE staff (
staff_id serial PRIMARY KEY,
, staff text NOT NULL
);
它会自动创建并附着序列对象,并将序列中的DEFAULT
设置为nextval()
.它能满足你的所有需求.
我在例子中使用了lower case identifiers.让你在博士后的生活更轻松.