为数据表增加预定义列或删除数据表的预定义列。设置预定义列后,在创建全局二级索引时将预定义列作为索引表的索引列或者属性列。
前提条件
- 已初始化Client。具体操作,请参见初始化。
- 已创建数据表。
增加预定义列
使用二级索引时,如果未设置预定义列或者预定义列不满足需求,可以为数据表增加预定义列。
- 参数
参数 说明 TableName 数据表名称。 DefinedColumns 为数据表预先定义一些非主键列以及其类型,可以作为索引表的属性列或索引列。包含如下设置: - Name:预定义列名称。
- ColumnType:预定义列的数据类型。
- 示例
为sampleTable数据表增加预定义列,预定义列分别为definedColumnName01(String类型)、definedColumnName02(INTEGER类型)、definedColumnName03(String类型)。
func AddDefinedColumn() { client := new(tablestore.TableStoreClient) addDefinedColumnRequest := new(tablestore.AddDefinedColumnRequest) addDefinedColumnRequest.AddDefinedColumn("definedColumnName01",tablestore.DefinedColumn_STRING) addDefinedColumnRequest.AddDefinedColumn("definedColumnName02",tablestore.DefinedColumn_INTEGER) addDefinedColumnRequest.AddDefinedColumn("definedColumnName03",tablestore.DefinedColumn_STRING) addDefinedColumnRequest.TableName = "sampleTable" _, err := client.AddDefinedColumn(addDefinedColumnRequest) if (err != nil) { fmt.Println("Failed to Add DefinedColumn with error:", err) } else { fmt.Println("Add DefinedColumn finished") } }
删除预定义列
删除数据表上不需要的预定义列。
- 参数
参数 说明 TableName 数据表名称。 DefinedColumns 预定义列名称。 - 示例
删除sampleTable数据表的预定义列definedColumnName01和definedColumnName02。
func DeleteDefinedColumn(){ client := new(tablestore.TableStoreClient) deleteDefinedColumnRequest := new(tablestore.DeleteDefinedColumnRequest) deleteDefinedColumnRequest.DefinedColumns = []string{"definedColumnName01","definedColumnName02"} _, err := client.DeleteDefinedColumn(deleteDefinedColumnRequest) if (err != nil) { fmt.Println("Failed to delete DefinedColumn with error:", err) } else { fmt.Println("Delete DefinedColumn finished") } }