Google bigquery 使用标准SQL从命令行更新bigquery会引发太多位置参数
我想使用标准SQL执行非常简单的DML来更新BigQuery中的表,但是除了我正在更新的表之外,我似乎无法关联更新中的任何其他表Google bigquery 使用标准SQL从命令行更新bigquery会引发太多位置参数,google-bigquery,Google Bigquery,我想使用标准SQL执行非常简单的DML来更新BigQuery中的表,但是除了我正在更新的表之外,我似乎无法关联更新中的任何其他表 update dataset.interaction set field = true where anotherField in (select field from dataset.anotherTable) 或 这两个问题都引起了争议 Too many positional args, still have ['field','=','true'...]
update dataset.interaction set field = true
where anotherField in (select field from dataset.anotherTable)
或
这两个问题都引起了争议
Too many positional args, still have ['field','=','true'...]
解决了
由于您可以使用SELECT
直接进入bq shell(无需query
),因此我认为在使用UPDATE
或DELETE
时也可以这样做。但事实是,要运行DMLs
,您需要使用query
,并且在shell中使用命令bq query
更容易
据我所知,您不能使用
update
和internal join
选项,只能使用in
子句中的。那么您实际使用的bq
命令是什么?明白了。我直接在bq shell中使用更新。我认为,正如您可以将selects直接写入bq shell一样,我也可以对DMLs执行同样的操作。谢谢请提供正确答案,而不是编辑问题:)
Too many positional args, still have ['field','=','true'...]