sql - 使用默认值向 PostgreSQL 添加列但不影响当前行
问题描述
我想在 Postgres 表中添加一列。我希望现有行的值为 null,但对于新行,它将采用我将在查询中指定的默认值。
我正在运行这个查询 -
ALTER TABLE events
ADD COLUMN event_timestamp timestamp default current_timestamp
这运行良好,但它也在填充现有行的当前时间戳。如何更改查询,使其不会为现有行添加默认值?
解决方案
用两个语句来做:
ALTER TABLE events ADD COLUMN event_timestamp timestamp;
ALTER TABLE events ALTER event_timestamp SET DEFAULT current_timestamp;
推荐阅读
- docker - 使用 Docker 在 Virtuoso 中加载 DBPedia Turtle 时出错
- r - 数据框的相关矩阵,按日期
- excel - 带过滤器的数据验证
- java - 单元测试一个简单的内存缓存
- wordpress - 活动图像大小 Woocommerce 产品页面
- sql - 将多个字段合并为一个
- .net-core - 有没有办法在 netcore webapi 应用程序上配置“JwtBearerOptions”?
- java - 数组子集问题 [O(n) 时间复杂度的最小空间]
- python - cached_property 何时重置?
- ios - 从 NSUserDefaults 解码自定义对象数组时出错?