You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery中查询表主键与外键,解决INFORMATION_SCHEMA调用报错

报错原因

这个报错是因为BigQuery的INFORMATION_SCHEMA视图属于特定数据集层级,查询时必须明确指定视图所在的项目、数据集信息,或者提前在请求中设置默认数据集。同时你原SQL里使用了中文全角引号,也会额外触发语法错误。

解决方案

方法1:直接补全INFORMATION_SCHEMA的全限定名(最通用)

在INFORMATION_SCHEMA前拼接你要查询的项目ID、目标数据集名,用反引号包裹全限定名即可,修改后的SQL示例如下:

SELECT K.COLUMN_NAME FROM  
`{你的项目ID}.{你的目标数据集名}.INFORMATION_SCHEMA.TABLE_CONSTRAINTS` T 
JOIN `{你的项目ID}.{你的目标数据集名}.INFORMATION_SCHEMA.KEY_COLUMN_USAGE` K
ON K.CONSTRAINT_NAME=T.CONSTRAINT_NAME  
WHERE  K.TABLE_NAME='你的表名'  
AND K.TABLE_SCHEMA='你的数据集名'
AND T.CONSTRAINT_TYPE='PRIMARY KEY' LIMIT 1;

如果需要查询外键信息,只需把CONSTRAINT_TYPE的条件值改为'FOREIGN KEY'即可。

注意事项:

  • 全限定名必须用反引号`包裹,避免项目ID、数据集名含特殊字符时报错
  • 所有过滤条件的引号需要替换为英文半角单引号'

方法2:提前设置默认数据集

  • 如果你在BigQuery控制台执行查询:打开查询编辑器的「查询设置」,指定默认的项目和数据集,设置完成后可以直接运行你原来的SQL语句
  • 如果你通过API/SDK执行查询:在请求参数里配置defaultDataset项,填入对应的项目和数据集信息即可

内容的提问来源于stack exchange,提问作者Younes Osama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:24:04