【问题标题】:PostgresSQL creating column that automatically fill another column?PostgresQL 创建自动填充另一列的列?
【发布时间】:2020-06-25 02:41:08
【问题描述】:

我是 postgres 的新手,所以我不知道这是否可行。

我想在我的表中创建一个可以自动填充下一列的列。 例如:

CREATE TABLE table_name (
    id bigserial NOT NULL,
    inspectionDate date NOT NULL,
    next_inspection_date date NOT NULL
);

因此,如果今天填写了“inspectionDate”列,例如 2020-06-28,“next_inspection_date”列是否可以自动填写 3 年后(2023-06-28)的日期?

【问题讨论】:

    标签: mysql postgresql dbeaver


    【解决方案1】:

    您可以使用生成的列:

    CREATE TABLE table_name (
        id bigserial NOT NULL,
        inspectionDate date NOT NULL,
        next_inspection_date date NOT NULL
            GENERATED ALWAYS AS (inspectionDate + INTERVAL '3 year') STORED
    );
    

    只要有插入或更新,生成的列应自动填充距inspectionDate 列 3 年的日期。

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-16
        • 2015-04-17
        • 1970-01-01
        • 2015-07-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-27
        相关资源
        最近更新 更多