【问题标题】:GCP Spanner support array of structsGCP Spanner 支持结构数组
【发布时间】:2020-06-11 19:50:51
【问题描述】:

Spanner 是否支持结构数组?

以下 DDL 生成错误:

CREATE TABLE table1 (
    col1 BYTES(MAX) NOT NULL,
    col2 STRING(36) NOT NULL,
    col3 TIMESTAMP NOT NULL OPTIONS (allow_commit_timestamp=true),
    col4 TIMESTAMP NOT NULL,
     labels array<struct<
      name STRING NOT NULL,
      last_updated timestatmp NOT NULL>>, 
    col5 INT64 NOT NULL,
    col6 STRING(36) NOT NULL,
    col7 STRING(36) NOT NULL,
) PRIMARY KEY (col1);

解析 Spanner DDL 语句时出错:CREATE TABLE table1 ( col1 BYTES(MAX) NOT NULL, col2 STRING(36) NOT NULL, col3 TIMESTAMP NOT NULL OPTIONS (allow_commit_timestamp=true), col4 TIMESTAMP NOT NULL, labels array>, col5 INT64 NOT NULL, col6 STRING(36) NOT NULL, col7 STRING(36) NOT NULL, ) PRIMARY KEY (col1):第 6 行第 19 列的语法错误:解析时遇到“struct”:column_type

当然,删除结构列的标签数组可以正常工作。

【问题讨论】:

  • 我查找了扳手数据类型,看来“结构”dt 不能是列数据类型。如果有人可以确认,将不胜感激。

标签: arrays struct google-cloud-spanner


【解决方案1】:

正确。在 Spanner ARRAY of STRUCTs 中,值可以由 SQL 表达式构造,但不支持作为列类型。见https://cloud.google.com/spanner/docs/data-types#declaring_an_array_type

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 2017-09-02
    • 2011-07-07
    • 1970-01-01
    • 2017-07-28
    相关资源
    最近更新 更多