You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery表中添加含CURRENT_DATETIME的列及自动更新日期列

SQL问题解决方案

问题1:给表tbl1添加列col1,值为当前时间

不同数据库的实现语法略有差异,以下是主流数据库的操作方式:

MySQL

先添加列并设置默认值为当前时间,再给已有行批量赋值:

-- 添加列,默认值设为当前时间戳
ALTER TABLE tbl1 ADD COLUMN col1 DATETIME DEFAULT CURRENT_TIMESTAMP;
-- 给现有所有行的col1设置当前时间
UPDATE tbl1 SET col1 = CURRENT_TIMESTAMP;

PostgreSQL

添加列并设置默认值,同时更新现有行:

-- 添加带时区的时间戳列,默认值为当前时间
ALTER TABLE tbl1 ADD COLUMN col1 TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP;
-- 批量更新现有行的col1值
UPDATE tbl1 SET col1 = CURRENT_TIMESTAMP;

问题2:创建DATE类型列,仅在新数据写入时自动记录时间

这个需求是要记录数据的创建日期,仅在插入新行时自动填充,后续更新该行不会改变该列值,实现方式如下:

MySQL

ALTER TABLE tbl1 ADD COLUMN create_date DATE DEFAULT CURRENT_DATE;

插入新数据时,若不手动指定create_date,会自动填充当前日期;后续更新该行时,除非手动修改,否则该值保持不变。

PostgreSQL

ALTER TABLE tbl1 ADD COLUMN create_date DATE DEFAULT CURRENT_DATE;

插入新行时自动取当前日期,更新操作不会影响该列的值,只有手动修改才会变更。

内容的提问来源于stack exchange,提问作者Ayush331

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 16:12:05