【问题标题】:postgresql serial4 type auto incrementation on an insert intopostgresql serial4类型在插入时自动递增
【发布时间】:2012-04-10 02:25:30
【问题描述】:

我在 serial4 类型的表中定义了一个属性,因此当我插入新行时,该属性会自动递增。

我以前是这样的:

myTable (id : serial4, name : varchar(25), whatever : whatever, ...);

当我想插入一个新条目时:

insert into myTable (name, whatever, ...) values ('foo', ...);

(我只是去掉关联列表中的 id 属性)。

现在如果我的表有大量的属性,关联列表写起来很累。

我只想写:

insert into myTable values (...);

但是如果 myTable 的第一个属性是 serial4 id,我应该在值列表中写什么?

insert into myTable values (?, 'foo', ...);

要从最后插入的值中获取 id 递增 +1 吗?

【问题讨论】:

    标签: postgresql auto-increment insert-into


    【解决方案1】:

    使用关键字DEFAULT

    insert into myTable values (DEFAULT, 'foo', ...);
    

    serial pseudo data type(同义词:serial4)只是用于从附加的SEQUENCE 检索其默认值的integer 列的符号便利。通过使用 DEFAULT 关键字,序列中的下一个值会像任何其他默认值一样插入。

    Details in the manual.

    【讨论】:

    • 我正要问serial4和一个序列整数之间的区别,岩石上的两只鸟,谢谢
    • @Oddant ... 也蒙上了眼睛! ;)
    猜你喜欢
    • 2014-08-10
    • 1970-01-01
    • 2013-04-12
    • 2017-06-22
    • 2012-02-02
    • 2013-04-25
    • 2021-04-19
    • 1970-01-01
    • 2017-10-27
    相关资源
    最近更新 更多