我对此感到困惑,BigQuery 是否在内部检查约束并以某种方式定期删除它们?
让我解释一下,我将主键和外键添加到每天 00:30UTC 填充一次的表中。我在上午 09:12 添加了约束,并在上午 10:05 添加了一些约束(不是全部......)
我不明白这怎么可能。我在上午 9 点检查了组织级别的 BigQuery 作业、审核日志,除了我自己的一组约束之外什么都没有。
您知道约束设置可能会出现什么问题吗?
PS:毫无疑问,这是我用来设置按键的脚本:
ALTER TABLE `foxbrain_rds.orders_final` ADD PRIMARY KEY(id_order) NOT ENFORCED;
ALTER TABLE `foxbrain_rds.orders_final`
ADD FOREIGN KEY(fk_parser) REFERENCES `foxbrain_rds.parsers`(id_parser) NOT ENFORCED,
ADD FOREIGN KEY(fk_customer) REFERENCES `foxbrain_rds.customers`(id_customer) NOT ENFORCED,
ADD FOREIGN KEY(fk_payment_method) REFERENCES `foxbrain_rds.payment_methods`(id_payment_method) NOT ENFORCED,
ADD FOREIGN KEY(fk_merchant) REFERENCES `foxbrain_rds.merchants`(id_merchant) NOT ENFORCED;
好吧,我没有检查正确的东西......
事实证明,引用的表每小时更新一次,并且主键已被删除。 如果删除主键,BigQuery 将删除引用它的所有外键。
有道理!