Go SDK 可为已有宽表模型数据表添加或删除预定义列。
前提条件
安装Tablestore Go SDK并初始化客户端。
功能说明
添加预定义列
调用 AddDefinedColumn 向指定数据表添加一个或多个预定义列。
单个数据表默认最多可添加 32 个预定义列。如需超过该限制,请提交工单或加入钉钉技术交流群36165029092。
func (tableStoreClient *TableStoreClient) AddDefinedColumn(request *AddDefinedColumnRequest) (*AddDefinedColumnResponse, error)
以下示例向 example_table 添加 score 和 status 两个预定义列。
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(必选) |
|
数据表名称。 |
|
DefinedColumns(必选) |
|
要添加的预定义列列表。 |
预定义列
DefinedColumns[] 的类型为 DefinedColumnSchema,包含以下参数。
|
名称 |
类型 |
说明 |
|
Name(必选) |
|
预定义列名称。 |
|
ColumnType(必选) |
|
预定义列数据类型。支持 |
删除预定义列请求
DeleteDefinedColumnRequest 包含以下参数。
|
名称 |
类型 |
说明 |
|
TableName(必选) |
|
数据表名称。 |
|
DefinedColumns(必选) |
|
要删除的预定义列名称列表。 |