选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

用户定义的类型 (UDTs)

聚焦模式

本页内容

用户定义的类型 (UDTs) - Amazon Keyspaces(Apache Cassandra 兼容)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

UDT — 一组字段和数据类型,可用于在 Amazon Keyspaces 中定义单个列。的有效数据类型 UDTs 是所有支持的 Cassandra 数据类型,包括集合和你 UDTs 已经在同一个密钥空间中创建的其他数据类型。有关支持的 Cassandra 数据类型的更多信息,请参阅Cassandra 数据类型支持

user_defined_type::= udt_name udt_name::= [ keyspace_name '.' ] identifier

CREATE TYPE

使用CREATE TYPE语句创建新类型。

语法

create_type_statement ::= CREATE TYPE [ IF NOT EXISTS ] udt_name '('field_definition ( ',' field_definition)* ')' field_definition::= identifier cql_type

其中:

  • IF NOT EXISTS如果该类型已经存在,则可以CREATE TYPE防止失败。(可选)

  • udt_name例如,是类型格式的 UDT 的完全限定名称。my_keyspace.my_type如果使用USE语句定义当前的密钥空间,则无需指定密钥空间名称。

  • field_definition由名称和类型组成。

下表显示了允许的 UDT 名称的示例。第一列显示了在创建类型时如何输入名称,第二列显示了 Amazon Keyspaces 如何在内部设置名称的格式。Amazon Keyspaces 要求这样的操作使用格式化的名称。GetType

输入的名字 格式化名称 注意
MY_UDT my_udt 如果不使用双引号,Amazon Keyspaces 会将所有大写字符转换为小写字母。
"MY_UDT" MY_UDT 使用双引号时,Amazon Keyspaces 会尊重大写字符,并从格式化的名称中删除双引号。
"1234" 1234 使用双引号时,名称可以以数字开头,Amazon Keyspaces 会从格式化的名称中删除双引号。
"Special_Ch@r@cters<>!!" Special_Ch@r@cters<>!! 使用双引号时,名称可以包含特殊字符,Amazon Keyspaces 会从格式化的名称中删除双引号。
"nested""""""quotes" nested"""quotes Amazon Keyspaces 会从格式化名称中删除外部双引号和转义双引号。

示例

CREATE TYPE my_keyspace.phone ( country_code int, number text );

UDTs 如果嵌套的 UDT 已冻结,则可以嵌套。有关类型的默认值和配额的更多信息,请参阅Amazon Keyspaces UDT 配额和默认值

CREATE TYPE my_keyspace.user ( first_name text, last_name text, phones FROZEN<phone> );

有关展示如何创建的更多代码示例 UDTs,请参阅Amazon Keys UDTs paces 中的用户定义类型 ()

DROP TYPE

使用DROP TYPE语句删除 UDT。您只能删除其他类型或表未使用的类型。

语法

drop_type_statement ::= DROP TYPE [ IF EXISTS ] udt_name

其中:

  • IF EXISTSDROP TYPE防止在类型不存在时失败。(可选)

  • udt_name例如,是类型格式的 UDT 的完全限定名称。my_keyspace.my_type如果使用USE语句定义当前的密钥空间,则无需指定密钥空间名称。

示例

DROP TYPE udt_name;

下一主题:

DML 语句

上一主题:

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。