使用标准SQL从命令行更新bigquery会引起太多位置Args

时间:2018-10-06 23:25:22

标签: google-bigquery

我想做一个非常简单的DML,以使用标准SQL更新BigQuery中的表,但是除了更新中的表,我似乎无法关联其他任何表。

update dataset.interaction set field = true 
where anotherField in (select field from dataset.anotherTable)

update dataset.interaction i 
inner join dataset.anotherTable o on o.joinField = i.joinField
set field = true;

两个查询都引发

Too many positional args, still have ['field','=','true'...]

1 个答案:

答案 0 :(得分:0)

已解决。

由于您可以直接将SELECT使用到bq shell中(无需使用query),所以我认为使用UPDATEDELETE时可以这样做。但是事实是,要运行DMLs,您将需要使用query,并且从外壳程序使用命令bq query会更容易。

据我了解,您不能将update选项与inner join一起使用,而只能使用in子句。