postgresql 在DEFAULT子句中,“constant”、“expression”和“sequence”代表什么?

4ktjp1zp  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(211)

目前正在通过Postico创建我的PostgreSQL表,我在创建新列时遇到了这个字段。它被称为DEFAULT,其默认值为no default。不过,您可以选择constantexpressionsequence作为选项。
这些到底是什么意思?

6ioyuze2

6ioyuze21#

CREATE TABLE上的手册:
DEFAULTdefault_expr
DEFAULT子句为列定义中出现该值的列分配默认数据值。该值是任何无变量表达式(不允许子查询和对当前表中其他列的交叉引用)。默认表达式的数据类型必须与列的数据类型匹配。
默认表达式将用于任何未为列指定值的插入操作。如果列没有默认值,则默认值为null。
constantexpression现在应该清除了。sequence是使其成为serial列的特殊功能:

  • 创建一个PostgreSQL序列到一个字段(不是记录的ID)

在@mu页面上提供了更多详细信息:

相关问题