管理预定义列

更新时间:
复制 MD 格式

Go SDK 可为已有宽表模型数据表添加或删除预定义列。

前提条件

安装Tablestore Go SDK并初始化客户端。

功能说明

添加预定义列

调用 AddDefinedColumn 向指定数据表添加一个或多个预定义列。

重要

单个数据表默认最多可添加 32 个预定义列。如需超过该限制,请提交工单或加入钉钉技术交流群36165029092

func (tableStoreClient *TableStoreClient) AddDefinedColumn(request *AddDefinedColumnRequest) (*AddDefinedColumnResponse, error)

以下示例向 example_table 添加 scorestatus 两个预定义列。

request := &tablestore.AddDefinedColumnRequest{
    TableName: "example_table",
}
request.AddDefinedColumn("score", tablestore.DefinedColumn_INTEGER)
request.AddDefinedColumn("status", tablestore.DefinedColumn_STRING)

_, err := client.AddDefinedColumn(request)
if err != nil {
    log.Fatal(err)
}

删除预定义列

调用 DeleteDefinedColumn 从指定数据表中删除一个或多个预定义列。

重要

如果预定义列被二级索引引用,必须先删除对应的二级索引,然后才能删除该预定义列。

func (tableStoreClient *TableStoreClient) DeleteDefinedColumn(request *DeleteDefinedColumnRequest) (*DeleteDefinedColumnResponse, error)

以下示例从 example_table 中删除 status 预定义列。

request := &tablestore.DeleteDefinedColumnRequest{
    TableName:      "example_table",
    DefinedColumns: []string{"status"},
}

_, err := client.DeleteDefinedColumn(request)
if err != nil {
    log.Fatal(err)
}

参数说明

添加预定义列请求

AddDefinedColumnRequest 包含以下参数。

名称

类型

说明

TableName(必选)

string

数据表名称。

DefinedColumns(必选)

[]*DefinedColumnSchema

要添加的预定义列列表。

预定义列

DefinedColumns[] 的类型为 DefinedColumnSchema,包含以下参数。

名称

类型

说明

Name(必选)

string

预定义列名称。

ColumnType(必选)

DefinedColumnType

预定义列数据类型。支持 DefinedColumn_STRINGDefinedColumn_INTEGERDefinedColumn_BINARYDefinedColumn_DOUBLEDefinedColumn_BOOLEAN

删除预定义列请求

DeleteDefinedColumnRequest 包含以下参数。

名称

类型

说明

TableName(必选)

string

数据表名称。

DefinedColumns(必选)

[]string

要删除的预定义列名称列表。