如何将记录插入到具有使用 SERIAL 函数声明的列的表中

新手上路,请多包涵

我的数据库正在使用 PostgreSQL。一张表正在使用 serial 自动增量宏。如果我想在表中插入一条记录,我是否还需要指定该值,或者它会自动为我分配?

 CREATE TABLE dataset
(
    id serial NOT NULL,
    age integer NOT NULL,
    name character varying(32) NOT NULL,
    description text NOT NULL DEFAULT ''::text
    CONSTRAINT dataset_pkey PRIMARY KEY (id)
);

原文由 AntiGMO 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 355
1 个回答

使用 DEFAULT 关键字或省略 INSERT 列表中的列:

 INSERT INTO dataset (id, age, name, description)
VALUES (DEFAULT, 42, 'fred', 'desc');

INSERT INTO dataset (age, name, description)
VALUES (42, 'fred', 'desc');

原文由 Craig Ringer 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进