PostgreSQL拒绝更新DATE列

时间:2018-09-07 01:04:24

标签: sql postgresql sql-update

我有一个表,其中包含一个值period_start TIMESTAMP NOT NULL。我想要第二列存储该时间戳记的日期。

我尝试了以下sql:

ALTER TABLE foo ADD COLUMN day DATE;

UPDATE foo SET day = period_start::DATE;

ALTER TABLE foo ALTER COLUMN day SET NOT NULL;

现在,当我执行上述操作时,我得到一个错误,提示day包含空值。查看表的内容,我发现每一行都有NULL作为day的值。

但是,SELECT *, period_start::DATE FROM foo给了我预期的结果。

为什么我的UPDATE语句失败,如何解决它,以便正确填充day列?

0 个答案:

没有答案