如何将主键和外键添加到 BigQuery?

Posted

技术标签:

【中文标题】如何将主键和外键添加到 BigQuery?【英文标题】:How to add primary key and foreign key to a BigQuery? 【发布时间】:2021-02-25 00:51:55 【问题描述】:

我正在尝试学习 bigquery,但我注意到我根本无法添加主键或外键。

这是一个例子:

CREATE TABLE db.VENDOR 
(
    V_CODE      INT64,
    V_NAME      String NOT NULL,
    V_CONTACT   String NOT NULL,
    V_AREACODE  String NOT NULL,
    V_PHONE     String NOT NULL,
    V_STATE     String NOT NULL,
    V_ORDER     String NOT NULL,
    PRIMARY KEY(V_Code)
);

CREATE TABLE db.PRODUCT 
(
    P_CODE     string Not Null,
    P_DESCRIPT string NOT NULL,
    P_INDATE   DATETIME NOT NULL,
    P_QOH      int64 NOT NULL,
    P_MIN      int64 NOT NULL,
    P_PRICE    NUMERIC NOT NULL,
    P_DISCOUNT NUMERIC NOT NULL,
    V_CODE     int64,

    CONSTRAINT PRODUCT_V_CODE_FK 
        FOREIGN KEY (V_CODE) REFERENCES VENDOR (V_CODE)
);

当我使用主键时,我得到一个错误:

不支持主键

对于我得到的外键:

表名“VENDOR”缺少数据集,而请求中未设置默认数据集

无论如何在 BigQuery 中使用 PK 或 FK 吗?如果是,如何?

【问题讨论】:

【参考方案1】:

不支持主键和外键约束。 OLAP 数据库不需要它们。如果您需要它们,您可能需要 OLTP 而不是 Cloud SQL 或 Cloud Spanner

【讨论】:

以上是关于如何将主键和外键添加到 BigQuery?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL添加主键和外键

oracle中 主键和外键是啥意思?啥地方采用呢?

oracle中 主键和外键是啥意思?啥地方采用呢?

oracle中 主键和外键是啥意思?啥地方采用呢?

在mysql中怎么同时运用主键和外键约束

主键和外键的作用