gpt4 book ai didi

sql - 为序列类型自增列插入默认值

转载 作者:行者123 更新时间:2023-11-29 13:06:27 25 4
gpt4 key购买 nike

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

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

为了插入一个新条目,我只是去掉了关联列表中的 id 属性:

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

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

insert into myTable values (...);

但是如果myTable的第一个属性是serial4 id。我应该在 VALUES 列表中写什么才能使 id 从最后插入的值增加 +1?

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

最佳答案

INSERT命令接受关键字 DEFAULT:

INSERT INTO my_table VALUES (DEFAULT, 'foo', ...);

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

Details in the manual.

旁白:通常不建议在持久化代码中省略目标列列表。以后对该表的任何更改都会破坏该代码,从而造成困惑。

关于sql - 为序列类型自增列插入默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9874573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com