BigQuery将查询结果附加到具有必填字段的表

Jon*_*ris 2 google-bigquery

我试图将查询的结果附加到与查询结果具有相同模式的现有表,除了现有表中的某些字段是必需的.

当我尝试运行查询时,这是所有必填字段的错误:

Invalid schema update. Field user has changed mode from REQUIRED to NULLABLE
Run Code Online (Sandbox Code Playgroud)

当我将查询结果写入新表时,它具有所有字段的相同名称和类型,但是所有字段的模式都是NULLABLE(1个重复字段除外).我已经尝试使用AND user IS NOT NULL所有必填字段而没有运气.我还尝试将查询结果保存到单独的表中,然后修改其模式,但BQ不允许在表上追溯设置必填字段.

Ben*_*ine 5

标准SQL不再支持必需的字段.如果您使用的是标准SQL(而不是旧版SQL),则建议您将所有必需字段更改为NULLABLE.

编辑(10/23/2017):看起来他们已经在标准SQL中添加了对REQUIRED字段的支持.


Mos*_*sky 0

您无法更改查询结果的架构以将 NULLABLE 翻转为 REQUIRED,因此您唯一能做的就是更改表的架构以将 REQUIRED 列转换为 NULLABLE(注意 - 如果您这样做,您将无法稍后进行相反的操作)。