すべてのプロダクト
Search
ドキュメントセンター

Tablestore:マッピングテーブルの属性列の更新

最終更新日:Apr 30, 2026

既存のマッピングテーブルに属性列を追加または削除するには、ALTER TABLE 文を実行します。

説明

詳細については、「マッピングテーブルの属性列の更新」をご参照ください。

前提条件

作業を開始する前に、以下の要件を満たしていることを確認してください。

注意事項

  • CREATE TABLE 文を実行して作成されたマッピングテーブルに対してのみ、ALTER TABLE 文を実行して属性列を更新できます。DESCRIBE 文を実行して自動的に作成されたマッピングテーブルに対しては、ALTER TABLE 文を実行して属性列を更新できません。

  • ALTER TABLE 文を 1 回実行して、マッピングテーブルに追加または削除できる属性列は 1 つのみです。複数の属性列を追加または削除する場合は、ALTER TABLE 文を複数回実行してください。

  • ALTER TABLE 文を実行して更新できるのはマッピングテーブルのスキーマのみです。マッピングテーブルが作成された Tablestore テーブルのスキーマは更新されません。

  • ALTER TABLE 文を実行して、マッピングテーブルのプライマリキー列を追加または削除することはできません。

  • ALTER TABLE 文を実行すると、SQL エンジンが非同期でマッピングテーブルをリフレッシュします。リフレッシュの完了まで最大 30 秒かかります。リフレッシュ期間中は、すべての列を返す操作を実行しても、追加した列が返されない場合があります。

パラメーター

パラメーター

説明

query

SQL ステートメント。必要な機能に応じてこのパラメーターを設定します。

コード例

以下の両方の例では、SQLQueryRequest を使用して ALTER TABLE 文を client.SQLQuery 経由で送信しています。応答内のリクエスト ID により、操作が成功したことが確認できます。

  • 属性列の追加

    次のサンプルコードは、exampletable という名前のマッピングテーブルに、BIGINT 型の colvalue 列を追加します。

    func alterTableAddColumn(client *tablestore.TableStoreClient) {
        // SQL リクエストを作成します。
        request := &tablestore.SQLQueryRequest{Query: "alter table exampletable add column colvalue bigint"}
    
        // SQL リクエストに対する応答を取得します。
        res, err := client.SQLQuery(request)
        if err != nil {
            fmt.Println(err.Error())
        } else {
            fmt.Println(res.ResponseInfo.RequestId)
        }
    }
  • 属性列の削除

    次のサンプルコードは、exampletable という名前のマッピングテーブルから colvalue 列を削除します。

    func alterTableDropColumn(client *tablestore.TableStoreClient) {
        // SQL リクエストを作成します。
        request := &tablestore.SQLQueryRequest{Query: "alter table exampletable drop column colvalue"}
    
        // SQL リクエストに対する応答を取得します。
        res, err := client.SQLQuery(request)
        if err != nil {
            fmt.Println(err.Error())
        } else {
            fmt.Println(res.ResponseInfo.RequestId)
        }
    }
説明

属性列を更新するには、不要になった列を削除し、要件に応じて新しい列を追加してください。

よくある質問

参照