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

Tablestore:マッピングテーブルを作成する

最終更新日:May 24, 2025

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

使用方法

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

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

前提条件

パラメーター

パラメーター

説明

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

FAQ

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

  • 考えられる原因

    マッピングテーブルを作成しようとしているテーブルが存在しません。

  • 解決策

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

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

  • 考えられる原因

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

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

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

  • 解決策

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

説明

SQL クエリ機能の一般的なエラーと解決策については、「SQL クエリの一般的なエラーをトラブルシューティングするにはどうすればよいですか?」をご参照ください。

関連情報