在 PostgreSQL 中,你可以为表的列指定默认值,以确保在插入新记录时,如果没有为该列提供值,将使用默认值。以下是如何为列设置默认值的基本语法:
CREATE TABLE example_table (
    column1 INT DEFAULT 42,
    column2 VARCHAR(50) DEFAULT 'default_value',
    column3 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

在上面的示例中:
  •  column1 的默认值为整数 42。

  •  column2 的默认值为字符串 'default_value'。

  •  column3 的默认值为当前时间戳,使用 CURRENT_TIMESTAMP 关键字。


你还可以使用常量、表达式、函数等作为默认值,以满足具体的需求。以下是一些示例:
CREATE TABLE another_table (
    column1 INT DEFAULT 0,
    column2 BOOLEAN DEFAULT false,
    column3 VARCHAR(255) DEFAULT 'unknown',
    column4 TIMESTAMP DEFAULT NOW()::timestamp
);

在上面的示例中:
  •  column1 的默认值为整数 0。

  •  column2 的默认值为布尔值 false。

  •  column3 的默认值为字符串 'unknown'。

  •  column4 的默认值为当前时间戳,使用 NOW()::timestamp 函数。


如果在插入数据时未提供这些列的值,系统将使用指定的默认值。例如:
INSERT INTO example_table (column2) VALUES ('new_value');

在上述情况下,column1 将使用默认值 42,column2 将使用提供的 'new_value',而 column3 将使用默认的当前时间戳。

要注意,如果插入语句中提供了列的值,将使用提供的值而不是默认值。默认值仅在插入时未提供值的情况下起作用。

这是有关 PostgreSQL 默认值的一些基本概念。


转载请注明出处:http://www.zyzy.cn/article/detail/8122/PostgreSQL