首页 > 解决方案 > PosgtreSQL - 如果其值等于 DEFAULT 值,则更新列

问题描述

我有一个 PostgreSQL 表,其中包含插入查询中未指定的列的默认值。如果当前值等于 DEFAULT,我如何运行查询来更新列值?

在 MySQL 中,我有

UPDATE t SET foo = 'foo' WHERE foo = DEFAULT(foo);

但它在 PosgtreSQL 中不起作用。

标签: postgresqlsql-update

解决方案


在 PostgreSQL 中没有办法做到这一点,我根本无法想象这样的功能是如何工作的。

想象一下列定义为

foo timestamp DEFAULT localtimestamp

你怎么知道插入的时间戳是否恰好是默认值?


推荐阅读