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

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

最終更新日:Sep 30, 2026

Tablestore SDK for PHP を使用して、既存のテーブルまたは検索インデックスのマッピングテーブルを作成し、データへの SQL アクセスを有効にします。

使用上の注意

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

Tablestore SDK for PHP のバージョン履歴については、Tablestore SDK for PHP のバージョン履歴をご参照ください。

前提条件

パラメーター

SQLQueryRequest には、次のパラメーターがあります。

名前

タイプ

説明

query (必須)

String

マッピングテーブル名、フィールド、プライマリキー、クエリエンジンを定義する CREATE TABLE ステートメント。 データテーブルのマッピングと検索インデックスのマッピングでは、異なる構文が使用されます。

例

説明

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

次の例では、CREATE TABLE `tableName` (`PK0` BIGINT(20),`PK1` VARCHAR(1024),`geo` MEDIUMTEXT,`boolean` BOOL,`array` MEDIUMTEXT,`double` DOUBLE,`text` MEDIUMTEXT,`keyword` MEDIUMTEXT,`nested` MEDIUMTEXT,`long` BIGINT(20),PRIMARY KEY(`PK0`,`PK1`)); ステートメントを使用して、テーブル「tableName」のマッピングテーブルを作成する方法を示します。

$request = array(
    'query' => 'CREATE TABLE `tableName` (`PK0` BIGINT(20),`PK1` VARCHAR(1024),`geo` MEDIUMTEXT,`boolean` BOOL,`array` MEDIUMTEXT,`double` DOUBLE,`text` MEDIUMTEXT,`keyword` MEDIUMTEXT,`nested` MEDIUMTEXT,`long` BIGINT(20),PRIMARY KEY(`PK0`,`PK1`));',
);
$response = $otsClient->sqlQuery($request);
print json_encode($response, JSON_PRETTY_PRINT);

よくある質問

マッピングテーブルを作成するときに エラーメッセージ "Table 'instancename.tablename' doesn't exist" が表示されるのはなぜですか?

  • 考えられる原因:

    マッピングテーブルを作成するテーブルが存在しません。

  • 解決策:

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

マッピングテーブルを作成するときに エラーメッセージ "Table 'instancename.tablename' already exist" が表示されるのはなぜですか?

  • 考えられる原因:

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

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

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

  • 解決策:

    DESCRIBE 文を使用して、既存のマッピングテーブルの 構造 を表示できます。 構造 がクエリ要件を満たしていない場合は、マッピングテーブルの 属性 列を更新できます。システムによって自動的に作成されたマッピングテーブルの 属性 列は更新できません。マッピングテーブルを削除して再作成する前に、ビジネスに影響がないことを確認してください。

説明

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

関連ドキュメント