赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 表格存储
  4. 开发参考
  5. SDK参考
  6. Go SDK
  7. 表操作
  8. 预定义列操作

预定义列操作

  • 表操作
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

预定义列是为数据表预先定义一些非主键列以及其类型。为数据表设置预定义列后,在创建二级索引时,您可以将预定义列作为索引表的索引列或者属性列。如果不再使用某些预定义列,您可以删除相应预定义列。

注意事项

  • 只有使用二级索引时才需要为数据表添加预定义列,使用多元索引时无需为数据表添加预定义列。

  • 单个数据表默认最大支持添加32个预定义列。如果不满足使用需求,请提交工单申请调整。

前提条件

  • 已初始化Client。具体操作,请参见初始化OTSClient。

  • 已创建数据表。具体操作,请参见创建数据表。

增加预定义列

使用二级索引时,如果未设置预定义列或者预定义列不满足需求,则您可以为数据表增加预定义列。

说明

您也可以在创建数据表时添加预定义列。具体操作,请参见创建数据表。

参数

参数

是否必选

说明

TableName

是

数据表名称。

DefinedColumns

是

为数据表预先定义一些非主键列以及其类型,可以作为索引表的属性列或索引列。包含如下设置:

  • Name:预定义列名称。

  • ColumnType:预定义列的数据类型。

示例

以下示例用于为指定数据表增加预定义列,预定义列分别为defcol1(String类型)、defcol2(INTEGER类型)、defcol3(String类型)。

func AddDefinedColumn(client *tablestore.TableStoreClient, tableName string) {
    addDefinedColumnRequest := new(tablestore.AddDefinedColumnRequest)
    addDefinedColumnRequest.AddDefinedColumn("defcol1",tablestore.DefinedColumn_STRING)
    addDefinedColumnRequest.AddDefinedColumn("defcol2",tablestore.DefinedColumn_INTEGER)
    addDefinedColumnRequest.AddDefinedColumn("defcol3",tablestore.DefinedColumn_STRING)
    addDefinedColumnRequest.TableName = tableName
    _, err := client.AddDefinedColumn(addDefinedColumnRequest)
    if (err != nil) {
        fmt.Println("Failed to Add DefinedColumn with error:", err)
    } else {
        fmt.Println("Add DefinedColumn finished")
    }
}

删除预定义列

删除数据表上不需要的预定义列。支持一次删除多个预定义列。

参数

参数

是否必选

说明

TableName

是

数据表名称。

DefinedColumns

是

预定义列名称。

示例

以下示例用于删除指定数据表的预定义列defcol1和defcol2。

func DeleteDefinedColumn(client *tablestore.TableStoreClient, tableName string){
    deleteDefinedColumnRequest := new(tablestore.DeleteDefinedColumnRequest)
    deleteDefinedColumnRequest.DefinedColumns = []string{"defcol1","defcol2"}
    deleteDefinedColumnRequest.TableName = tableName
    _, err := client.DeleteDefinedColumn(deleteDefinedColumnRequest)
    if (err != nil) {
        fmt.Println("Failed to delete DefinedColumn with error:", err)
    } else {
        fmt.Println("Delete DefinedColumn finished")
    }
}

相关文档

  • 关于API说明的更多信息,请参见AddDefinedColumn和DeleteDefinedColumn。

  • 如果功能执行报错,请根据报错信息在错误码参考文档中查找出错原因并处理问题。

  • 创建预定义列后,您可以根据需要创建二级索引用于数据查询。具体操作,请参见创建二级索引。

相关文章

创建数据表 2025-04-22 14:26

本文将通过参数说明和示例代码为您介绍如何使用 Go SDK 创建数据表。在创建数据表时,您需要指定数据表的结构信息和配置信息。CU 模式(原按量模式)下高性能型实例中的数据表还可以根据需要设置预留读写吞吐量。

创建加密表 2025-04-22 14:26

本文将通过参数说明和示例代码为您介绍如何使用 Go SDK 创建加密数据表,实现数据加密存储功能。表格存储提供两种加密方式:基于密钥管理服务(Key Management Service,简称 KMS)的密钥加密和基于自带密钥(Bring Your Own Key,简称 BYOK)的自定义密钥加密。

更新表配置 2025-04-22 14:26

本文将通过参数说明和示例代码为您介绍如何使用 Go SDK 更新表配置。在更新数据表时,您可以修改表的配置信息(例如数据生命周期、最大版本数、有效版本偏差等)和 Stream 配置。此外,您还可以为 CU 模式(原按量模式)下高性能型实例中数据表调整预留读写吞吐量。

列出表名称 2025-04-22 14:26

使用ListTable接口获取当前实例下已创建的所有表的表名。 前提条件

预定义列操作 2025-04-22 14:26

预定义列是为数据表预先定义一些非主键列以及其类型。为数据表设置预定义列后,在创建二级索引时,您可以将预定义列作为索引表的索引列或者属性列。如果不再使用某些预定义列,您可以删除相应预定义列。 注意事项 只有使用二级索引时才需要为数据表添加

查询表描述信息 2025-04-22 14:26

使用DescribeTable接口可以查询指定表的结构、预留读/写吞吐量详情等信息。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号