全部產品
Search
文件中心

Tablestore:預定義列操作

更新時間:Jul 02, 2024

預定義列是為資料表預先定義一些非主鍵列以及其類型。為資料表設定預定義列後,在建立二級索引時,您可以將預定義列作為索引表的索引列或者屬性列。如果不再使用某些預定義列,您可以刪除相應預定義列。

注意事項

  • 只有使用二級索引時才需要為資料表添加預定義列,使用多元索引時無需為資料表添加預定義列。

  • 單個資料表預設最大支援添加32個預定義列。如果不滿足使用需求,請提交工單申請調整。

前提條件

增加預定義列

使用二級索引時,如果未設定預定義列或者預定義列不滿足需求,則您可以為資料表增加預定義列。

說明

您也可以在建立資料表時添加預定義列。具體操作,請參見建立資料表

參數

參數

是否必選

說明

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")
    }
}

相關文檔