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

如何列出BigQuery数据集中未启用主键的表?

列出BigQuery指定数据集中未启用主键的表

你可以通过查询BigQuery的INFORMATION_SCHEMA视图筛选出指定数据集中没有主键约束的表,具体SQL语句如下(记得替换your_project_id和your_dataset_id为实际的项目ID和数据集ID):

SELECT 
  t.table_catalog,
  t.table_schema,
  t.table_name
FROM 
  `your_project_id.your_dataset_id.INFORMATION_SCHEMA.TABLES` t
LEFT JOIN 
  `your_project_id.your_dataset_id.INFORMATION_SCHEMA.TABLE_CONSTRAINTS` tc
ON 
  t.table_catalog = tc.table_catalog
  AND t.table_schema = tc.table_schema
  AND t.table_name = tc.table_name
  AND tc.constraint_type = 'PRIMARY KEY'
WHERE 
  tc.constraint_name IS NULL
  AND t.table_type = 'BASE TABLE' -- 仅筛选基础表,排除视图
ORDER BY 
  t.table_name;

说明:

  • INFORMATION_SCHEMA.TABLES返回数据集中所有表和视图,通过table_type = 'BASE TABLE'限定为实际存储数据的基础表,若需要包含视图,可移除该条件
  • 左连接TABLE_CONSTRAINTS视图并指定constraint_type = 'PRIMARY KEY',匹配存在主键约束的表
  • tc.constraint_name IS NULL会筛选出未匹配到主键约束的表,也就是未启用主键的表

内容的提问来源于stack exchange,提问作者Nick Orlove

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 05:14:56