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

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

最終更新日:Apr 30, 2026

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

説明

詳細については、「テーブルのマッピングテーブルの作成」および「多次元インデックスのマッピングテーブルの作成」をご参照ください。

前提条件

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

パラメーター

パラメーター

説明

query

マッピングテーブルを作成するために使用する SQL ステートメント。ステートメント内の列のデータの型は、データテーブル内の対応する列のデータの型と一致している必要があります。

説明

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

リレーショナルデータベースの CREATE TABLE とは異なり、このステートメントは新しいテーブルを作成しません。既存の Tablestore データテーブル上に SQL マッピングを作成し、NoSQL データに対して SQL ベースのクエリを可能にします。

以下の例では、ステートメント create table test_table (pk varchar(1024), long_value bigint, double_value double, string_value mediumtext, bool_value bool, primary key(pk)) を使用して、test_table のマッピングテーブルを作成します。

const params = {
  // マッピングテーブルを作成するための SQL ステートメント。
  // 列のデータの型は、データテーブル内の対応する列のデータの型と一致している必要があります。
  // SQL 構文の詳細については、SQL リファレンスドキュメントをご参照ください。
  query: "create table test_table (pk varchar(1024), long_value bigint, double_value double, string_value mediumtext, bool_value bool, primary key(pk))",
}

client.sqlQuery(params, function (err, data) {
  if (err) {
    console.log('sqlQuery error:', err.toString());
  } else {
    console.log('sqlQuery success:', data);
  }
});

よくある質問

「Table 'instancename.tablename' doesn't exist ?」というエラーメッセージが返された場合、どうすればよいですか?

  • 考えられる原因

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

  • 解決方法

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

「Table 'instancename.tablename' already exist?」というエラーメッセージが返された場合、どうすればよいですか?

  • 考えられる原因

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

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

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

  • 解決方法

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

説明

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

関連ドキュメント