当在 BigQuery 中定义一个字段时,并且设置了默认值,但是在插入数据时不显式给出字段值时,BigQuery 可能出现预期之外的行为。具体来说, BigQuery 可能会将默认值作为实际插入的值,而不是使用 NULL 作为默认值。
为了解决这个问题,我们可以通过将字段标记为“模式必填项”(REQUIRED)来避免默认值被用作实际插入的值。示例代码如下:
CREATE TABLE mydataset.mytable (
id INT64,
name STRING,
created_date DATE OPTIONS (REQUIRED),
modified_date DATE OPTIONS (REQUIRED)
);
在这个示例中,我们将 created_date 和 modified_date 标记为模式必填项,并且没有为其设置默认值。这样,插入数据时如果不显式地提供这些字段的值,BigQuery 就会报告一个错误。