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

咨询GCP BigQuery插入行时自动添加当前时间戳的方法

BigQuery自动插入当前时间戳的实现方式

BigQuery完全支持类似关系型数据库DEFAULT CURRENT_TIMESTAMP的内置功能,无需完全依赖应用层(如Java程序)处理时间戳生成。以下是具体实现方法:

1. 建表时定义默认时间戳列

创建表时,直接为目标列指定DEFAULT CURRENT_TIMESTAMP()约束,BigQuery会在插入新行时自动填充当前UTC时间戳:

CREATE TABLE my_dataset.my_table (
  id INT64,
  content STRING,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP()
);

如果需要特定时区的时间,可以传入时区参数,例如:

CREATE TABLE my_dataset.my_table (
  id INT64,
  content STRING,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP("Asia/Shanghai")
);

2. 插入数据时的使用方式

插入数据时无需显式提供该列的值,BigQuery会自动完成时间戳填充:

INSERT INTO my_dataset.my_table (id, content)
VALUES (1, '测试内容');

若插入时显式指定了该列的值,BigQuery会优先使用传入的值,忽略默认约束。

3. 为已有表添加默认时间戳列

对于已存在的表,可通过ALTER TABLE语句新增带默认值的时间戳列:

ALTER TABLE my_dataset.my_table
ADD COLUMN updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 18:59:56