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

Tablestore:マッピングテーブルの作成

最終更新日:Sep 22, 2026

CREATE TABLE ステートメントを実行して、既存のテーブルまたは検索インデックスのマッピングテーブルを作成できます。 マッピングテーブルを作成するときは、ビジネス要件に基づいて、フィールド名と型、プライマリキー情報、およびデータクエリに使用する実行エンジンを指定します。

説明

CREATE TABLE ステートメントの構文、フィールド型、およびパラメーターの詳細については、「DDL 操作」をご参照ください。

注意事項

SQL クエリは、Tablestore SDK for .NET V5.0.0 以降でサポートされています。サポートされている SDK バージョンがインストールされていることを確認してください。

詳細については、「Tablestore SDK for .NET のバージョン履歴」をご参照ください。

前提条件

パラメーター

パラメーター

説明

query

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

例

説明

このトピックでは、テーブルのマッピングテーブルを作成する方法について説明します。 検索インデックスのマッピングテーブルを作成する場合は、サンプルコードの SQL ステートメントを、検索インデックスのマッピングテーブル作成用の SQL ステートメントに置き換えてください。

次の例では、CREATE TABLE `test_table` (`pk0` VARCHAR(1024), `pk1` BIGINT(20), `col0` MEDIUMTEXT, `col1` BIGINT(20), `col2` DOUBLE, `col3` BOOL, `col4` MEDIUMBLOB, `date_col` MEDIUMTEXT, `geo_col` MEDIUMTEXT, `col0_v1` MEDIUMTEXT, `col0_v2` MEDIUMTEXT, PRIMARY KEY(`pk0`,`pk1`)); ステートメントを使用して、test_table テーブルのマッピングテーブルを作成する方法を示します。

/// <summary>
/// データテーブルのマッピングテーブルを作成します。
/// </summary>
/// <param name="otsClient"></param>
public static void CreateMappingTable(OTSClient otsClient)
{
    string sqlCommand = @"CREATE TABLE `test_table` (
        `pk0` VARCHAR(1024),
        `pk1` BIGINT(20),
        `col0` MEDIUMTEXT,
        `col1` BIGINT(20),
        `col2` DOUBLE,
        `col3` BOOL,
        `col4` MEDIUMBLOB,
        `date_col` MEDIUMTEXT,
        `geo_col` MEDIUMTEXT,
        `col0_v1` MEDIUMTEXT,
        `col0_v2` MEDIUMTEXT,
        PRIMARY KEY(`pk0`,`pk1`)
    );";

    SQLQueryRequest sqlQueryRequest = new SQLQueryRequest(sqlCommand);

    SQLQueryResponse sqlQueryResponse = otsClient.SQLQuery(sqlQueryRequest);
}

よくある質問

マッピングテーブルの作成時に「Table 'instancename.tablename' doesn't exist ?」というエラーメッセージが返された場合はどうすればよいですか。

  • 考えられる原因

    マッピングテーブルの作成対象のテーブルが存在しません。

  • 解決策

    SQL の CREATE TABLE ステートメントを実行してマッピングテーブルを作成できるのは、既存のテーブルまたは検索インデックスに対してのみです。 マッピングテーブルの作成対象のテーブルまたは検索インデックスが存在することを確認してください。

マッピングテーブルの作成時に「Table 'instancename.tablename' already exist?」というエラーメッセージが返された場合はどうすればよいですか。

  • 考えられる原因

    テーブルにはマッピングテーブルが作成されています。

    • ユーザーが手動でテーブルのマッピングテーブルを作成しました。

    • Tablestore が自動的にテーブルのマッピングテーブルを作成しました。 データテーブルのマッピングテーブルを作成せずに、SQL ステートメント (DESCRIBE、SELECT など) を直接使用してデータテーブル内のデータを照会すると、Tablestore はデータテーブルのマッピングテーブルを自動的に作成します。 自動作成されたマッピングテーブルには、データテーブルのプライマリキー列と事前定義列のみが含まれ、その属性列は更新できません。

  • 解決策

    DESCRIBE ステートメントを実行して、マッピングテーブルのスキーマを照会できます。 スキーマがビジネス要件を満たしていない場合は、マッピングテーブルの属性列を更新できます。 マッピングテーブルが Tablestore によって自動的に作成された場合、属性列を更新することはできません。 この場合、マッピングテーブルを削除してもビジネスに影響がないことを確認した上で、マッピングテーブルを削除して新しいマッピングテーブルを作成できます。

説明

一般的な SQL クエリのエラーとその解決策については、「一般的な SQL クエリのエラーのトラブルシューティング」をご参照ください。

関連ドキュメント