如果 table 包含数据,如何在删除后为列添加非空约束

how to add not null constraint for a column after dropping it if the table contains data

我在 postgresql 中删除了列的非空约束。现在我需要将非空约束添加回列。我的 table 里面已经有数据了。我该怎么做?

此列已创建:列名 TEXT NOT NULL

如 Pg docs 中所述,您可以这样做

update table_name set columnname='fill null data' where columnname is null;
ALTER TABLE table_name ALTER COLUMN columnname SET NOT NULL;

ALTER TABLE table_name ALTER COLUMN columnname SET default ' ';