Tüm Ürünler
Search
Belge Merkezi

Tablestore:Create a mapping table

Son Güncelleme:Oct 02, 2026

Tablestore SDK for Python, verilere SQL ile erişebilmeniz için mevcut bir veri tablosu veya arama dizini üzerinde eşleme tablosu oluşturur.

Ön koşullar

  • Tablestore SDK for Python öğesini yükleyin ve bir istemciyi başlatın.

  • SQL sorguları için 5.4.2 veya daha yeni bir sürüm gerekir. En son sürümü kullanmanızı öneririz.

Açıklama

Mevcut bir veri tablosu veya arama dizini için eşleme tablosu oluşturmak üzere CREATE TABLE ifadesini çalıştırmak amacıyla exe_sql_query yöntemini çağırın.

def exe_sql_query(self, query)

Bir veri tablosu için eşleme tablosunun adı, veri tablosunun adıyla aynı olmalıdır. Alan adları büyük/küçük harfe duyarlı değildir ve alan türleri veri tablosu alan türleriyle eşleşmelidir. Bir arama dizini için eşleme tablosu adını özelleştirebilir; veri tablosunu ve arama dizinini belirtmek üzere ENGINE ve ENGINE_ATTRIBUTE parametrelerini kullanabilirsiniz.

CREATE TABLE ifadesinin sözdizimi, alan türleri ve parametreleri hakkında bilgi için DDL işlemleri konusuna bakın.

Aşağıdaki örnekte example_table veri tablosu için bir eşleme tablosu oluşturulmaktadır.

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)

Parametreler

exe_sql_query yöntemi aşağıdaki parametreyi içerir.


Ad


Tür


Açıklama


query (gerekli)


Dize


Çalıştırılacak CREATE TABLE ifadesi. İfade, eşleme tablosunun adını, alanlarını, birincil anahtarını ve sorgu motorunu tanımlar. Veri tablosu eşlemeleri ile arama dizini eşlemeleri farklı sözdizimleri kullanır.

Senaryo örnekleri

Arama dizini için eşleme tablosu oluşturma

ENGINE değerini searchindex olarak ayarlayın ve ENGINE_ATTRIBUTE içinde veri tablosunu ve arama dizinini belirtin. Aşağıdaki örnekte, example_table veri tablosundaki example_index arama dizini için example_search_table adlı bir eşleme tablosu oluşturulmaktadır.

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)

SSS

Table 'instance.table' doesn't exist hatası döndürülüyor

Neden: Belirtilen veri tablosu veya arama dizini mevcut değil. CREATE TABLE ifadesi yalnızca eşleme tablosunu oluşturur.

Çözüm: Adları kontrol edin, veri tablosunun veya arama dizininin var olduğundan emin olun ve ifadeyi yeniden çalıştırın.

Table 'instance.table' already exists hatası döndürülüyor

Neden: Eşleme tablosu zaten mevcut. DESCRIBE veya SELECT ifadeleri de yalnızca birincil anahtar sütunları ve önceden tanımlanmış sütunları içeren bir eşleme tablosunu otomatik olarak oluşturabilir.

Çözüm: Yinelemeli oluşturma hatalarını önlemek için IF NOT EXISTS ifadesini kullanın. Otomatik olarak oluşturulmuş bir eşleme tablosunu değiştirmek istiyorsanız etkiyi değerlendirin, eşleme tablosunu silin ve yeniden oluşturun.