如何修改newtest表中source列的STRUCT类型结构?
修改BigQuery数据表中STRUCT类型列的方法
要给newtest表的source列(原类型为STRUCT<name:string, size:bigint>)添加index:bigint字段,你之前用的MODIFY COLUMN语法在BigQuery中不适用,正确的写法是使用ALTER COLUMN ... SET DATA TYPE:
ALTER TABLE newtest ALTER COLUMN source SET DATA TYPE STRUCT<name STRING, size INT64, index INT64>;
说明
- 执行这条语句后,现有数据的
source列会自动新增index字段,默认值为NULL,不会破坏原有数据。 - 如果需要给现有数据的
index字段设置默认值(比如0),可以执行后续的更新语句:
UPDATE newtest SET source = STRUCT(source.name, source.size, 0 AS index) WHERE source.index IS NULL;
内容的提问来源于stack exchange,提问作者Veerendra
相关产品推荐
相关产品推荐

