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

如何通过BigQuery的DDL修改STRUCT嵌套字段的描述?

为嵌套STRUCT字段添加描述的正确方法

先创建测试表:

CREATE OR REPLACE TABLE tmp.table_description_test AS (
  SELECT
    1 AS a,
    STRUCT(2 AS c, 3 AS d) AS b
)

为普通字段(比如a或b)添加描述的操作很简单:

ALTER TABLE tmp.table_description_test ALTER COLUMN a
SET OPTIONS (description = '字段a的描述');
ALTER TABLE tmp.table_description_test ALTER COLUMN b
SET OPTIONS (description = '结构体字段b的描述');

但如果要为嵌套字段(例如b中的c或d)添加或修改描述,直接使用b.c这种写法会执行失败:

ALTER TABLE tmp.table_description_test ALTER COLUMN b.c
SET OPTIONS (description = '字段b.c的描述');

触发的报错为:

语法错误:在[1:54]位置意外出现"."

正确操作方式

要给嵌套STRUCT里的字段添加描述,需要重新定义整个STRUCT的数据类型,在定义中为目标嵌套字段指定描述,再通过ALTER COLUMN ... SET DATA TYPE语句更新字段类型:

ALTER TABLE tmp.table_description_test 
ALTER COLUMN b 
SET DATA TYPE STRUCT<c INT64 OPTIONS(description='结构体b中c字段的描述'), d INT64 OPTIONS(description='结构体b中d字段的描述')>;

如果只需要修改单个嵌套字段的描述,也要完整写出整个STRUCT的定义,保留其他字段的原有类型和已有的描述信息。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:57:17