【问题标题】:Update Struct in BigQuery在 BigQuery 中更新结构
【发布时间】:2021-03-04 16:19:58
【问题描述】:

我正在玩 bigquery。我想更新嵌套字段,但出现此错误:

ARRAY>> 类型的值无法分配给 click_url,它的类型为 STRUCT 在 [2:17]

表:

这是代码。我已经尝试过这个,因为我看到一些线程建议使用 UNNEST 函数,但 click_url 不是数组而是结构。

UPDATE `myTable` t
SET click_url =  
  ARRAY(
    SELECT AS STRUCT(c.string, c.text, c.provided) FROM UNNEST([t.click_url]) as c
  )
WHERE id = 10

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    仔细看报错信息,目标列类型是STRUCT without Array

     STRUCT<string STRING, text STRING, provided STRING>
    

    正如您所暗示的那样,UNNEST 是不必要的。尝试直接更新 STRUCT。

    UPDATE `myTable` t
    SET click_url =  
        (SELECT AS STRUCT(
          t.click_url.string, 
          t.click_url.text, 
          your_hard_coded_provided_string)
        )
    
    WHERE id = 10
    

    【讨论】:

      猜你喜欢
      • 2020-08-08
      • 2017-07-12
      • 1970-01-01
      • 2022-12-22
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 2021-07-26
      • 1970-01-01
      相关资源
      最近更新 更多