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

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

最終更新日:Aug 07, 2026

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

前提条件

  • Tablestore SDK for Python をインストールし、クライアントを初期化します。

  • SQL クエリにはバージョン 5.4.2 以降が必要です。最新バージョンの使用を推奨します。

説明

exe_sql_query メソッドを呼び出して CREATE TABLE 文を実行し、既存のデータテーブルまたは検索インデックスのマッピングテーブルを作成します。

def exe_sql_query(self, query)

データテーブルの場合、マッピングテーブルはデータテーブルと同じ名前である必要があります。フィールド名では大文字と小文字は区別されず、フィールドタイプはデータテーブルのフィールドタイプに対応している必要があります。検索インデックスの場合、マッピングテーブル名をカスタマイズし、ENGINEENGINE_ATTRIBUTE を使用してデータテーブルと検索インデックスを指定できます。

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

次の例では、example_table データテーブルのマッピングテーブルを作成します。

query = """
CREATE TABLE example_table (
    pk VARCHAR(1024), long_value BIGINT, double_value DOUBLE,
    string_value MEDIUMTEXT, bool_value BOOL, PRIMARY KEY(pk)
)
"""
client.exe_sql_query(query)

パラメーター

exe_sql_query メソッドには、次のパラメーターが含まれています。

名前

説明

query (必須)

文字列

実行するCREATE TABLE ステートメントは、マッピングテーブル名、フィールド、プライマリキー、およびクエリエンジンを定義します。データテーブルマッピングと検索インデックスマッピングでは構文が異なります。

シナリオ例

検索インデックス用のマッピングテーブルの作成

ENGINEsearchindex に設定し、ENGINE_ATTRIBUTE でデータテーブルと検索インデックスを指定します。 次の例では、example_table データテーブルの example_index 検索インデックス用の example_search_table マッピングテーブルを作成します。

query = """
CREATE TABLE example_search_table (
    pk MEDIUMTEXT, long_value BIGINT, string_value MEDIUMTEXT
) ENGINE='searchindex'
ENGINE_ATTRIBUTE='{"index_name":"example_index","table_name":"example_table"}'
"""
client.exe_sql_query(query)

よくある質問

Table 'instance.table' doesn't exist というエラーが返される

原因: 指定されたデータテーブルまたは検索インデックスが存在しません。CREATE TABLE 文は、マッピングテーブルのみを作成します。

解決策:名前を確認し、データテーブルまたは検索インデックスが存在することを確認してから、文を再度実行してください。

Table 'instance.table' already exists エラーが返される

原因: マッピングテーブルはすでに存在します。また、DESCRIBE または SELECT ステートメントによって、プライマリキー列と事前定義列のみを含むマッピングテーブルが自動的に作成されることもあります。

解決策: 重複作成エラーを防ぐには、IF NOT EXISTS を使用します。自動作成されたマッピングテーブルを変更するには、影響を評価し、マッピングテーブルを削除してから再作成します。