BigQuery更新语句报错求助:更新page_perf表时遇语法错误
解决BigQuery UPDATE语句的语法错误
我来帮你排查这个更新语句的问题,很快就能搞定!
问题根源
你收到的错误提示,核心原因是表名的引用方式错误:BigQuery里不能用单引号(')包裹表名,单引号是用来定义字符串常量的,而包含特殊字符(比如冒号、点号)的表名,必须用反引号(`)来包裹。
另外还有个小冗余点:你写的LEFT(SUBSTR(page,5,22),22)其实没必要——SUBSTR(page,5,22)已经从第5位开始截取22个字符了,再套一层LEFT完全多余,反而增加代码复杂度。
修正后的SQL代码
UPDATE `possible-stock-172109:180417Page_dataset.page` SET unique_id = SUBSTR(page, 5, 22) WHERE Product = "HT_AMP";
关键改动说明
- 把包裹表名的单引号换成了反引号(键盘左上角的那个符号,别和单引号搞混),这样BigQuery才能正确识别你的完整表路径
- 移除了冗余的
LEFT()函数,直接用SUBSTR就能实现你想要的截取效果,代码更简洁高效
如果执行后还有问题,可以检查这几点:
- 确认
page列存在且是字符串类型 - 确认
unique_id列的长度足够容纳22个字符的结果 - 注意
Product列的大小写——BigQuery的字符串比较默认是区分大小写的,确保"HT_AMP"和表中实际取值一致
内容的提问来源于stack exchange,提问作者deepika rai
相关产品推荐
相关产品推荐

