我正在尝试更新满足条件的Big查询表。我在命令行中尝试通过错误
bq update `project_d.data_set.table_name`set field1='1011' , field2='201' , field3='2001' where id='7001'
但我在命令提示符中遇到错误,如
Too many positional args, still have [',', 'field2=201', ',', 'field3=2001', 'where', 'id', '=7001']
请帮我解决这个问题
答案 0 :(得分:1)
bq update
更新表的属性,例如其到期时间。如果您要运行UPDATE
查询,请使用bq query
。将以下内容(替换您的项目,数据集和表名称)放入一个名为eg的文件中。 query.sql
:
UPDATE `project_d.data_set.table_name`
SET
field1 = '1011',
field2 = '201',
field3 = '2001'
WHERE id = '7001'
现在使用该文件作为输入运行bq query
:
bq query --use_legacy_sql=false < query.sql
答案 1 :(得分:0)
除了使用外部 sql 文件,您只需添加 --use_legacy_sql=false
:
bq query --use_legacy_sql=false 'update dataset.table SET id=id*100 where id>100'