Mysql PostgresSQL是否创建自动填充另一列的列?

Mysql PostgresSQL是否创建自动填充另一列的列?,mysql,postgresql,dbeaver,Mysql,Postgresql,Dbeaver,我对博士后很陌生,所以我不知道这是否可能 我想在我的表中创建一列,可以自动填充下一列。 例如: CREATE TABLE table_name ( id bigserial NOT NULL, inspectionDate date NOT NULL, next_inspection_date date NOT NULL ); 因此,如果今天填写了“检查日期”列,比如2020-06-28,“下一次检查日期”列能否自动填写3年后的日期(2023-06-28)?您可以使用生

我对博士后很陌生,所以我不知道这是否可能

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

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

因此,如果今天填写了“检查日期”列,比如2020-06-28,“下一次检查日期”列能否自动填写3年后的日期(2023-06-28)?

您可以使用生成的列:

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年的日期。

您可以使用生成的列:

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
);

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

如果您使用的是PostgreSQL 12,则可以使用生成的列


如果您使用的是PostgreSQL 12,则可以使用生成的列