All Products
Search
Document Center

Tablestore:Buat tabel pemetaan

Last Updated:Jul 31, 2026

Tablestore SDK for Java membuat tabel pemetaan untuk tabel atau indeks pencarian yang sudah ada agar memungkinkan akses SQL ke data.

Prasyarat

Deskripsi

Panggil metode sqlQuery untuk mengeksekusi pernyataan CREATE TABLE dan membuat tabel pemetaan untuk tabel atau indeks pencarian yang sudah ada.

SQLQueryResponse sqlQuery(SQLQueryRequest request)

Untuk tabel data, nama tabel pemetaan harus sama dengan nama tabel data. Nama bidang tidak peka huruf besar/kecil, dan tipe bidang harus sesuai dengan tipe bidang pada tabel data. Untuk indeks pencarian, Anda dapat menyesuaikan nama tabel pemetaan serta menggunakan parameter ENGINE dan ENGINE_ATTRIBUTE untuk menentukan tabel data dan indeks pencarian yang bersangkutan.

Untuk sintaksis, tipe bidang, dan parameter pernyataan CREATE TABLE, lihat Operasi DDL.

Contoh berikut membuat tabel pemetaan untuk tabel data example_table, yang berisi kolom kunci primer bertipe string dan empat kolom atribut.

String query = "CREATE TABLE example_table ("
        + "pk VARCHAR(1024), "
        + "long_value BIGINT, "
        + "double_value DOUBLE, "
        + "string_value MEDIUMTEXT, "
        + "bool_value BOOL, "
        + "PRIMARY KEY(pk))";
SQLQueryRequest request = new SQLQueryRequest(query);

client.sqlQuery(request);

Parameter

SQLQueryRequest berisi parameter berikut.

Name

Type

Description

query (required)

String

Pernyataan CREATE TABLE yang mendefinisikan nama tabel pemetaan, bidang, kunci primer, dan mesin kueri. Pemetaan tabel data dan pemetaan indeks pencarian menggunakan sintaksis yang berbeda.

Contoh skenario

Buat tabel pemetaan untuk indeks pencarian

Untuk membuat tabel pemetaan untuk indeks pencarian, atur ENGINE menjadi searchindex dan tentukan tabel data serta indeks pencarian di dalam ENGINE_ATTRIBUTE. Contoh berikut membuat tabel pemetaan bernama example_search_table untuk indeks pencarian example_index dari tabel data example_table.

String tableName = "example_table";
String indexName = "example_index";
String mappingTableName = "example_search_table";
String query = String.format(
        "CREATE TABLE %s (pk MEDIUMTEXT, long_value BIGINT, "
                + "double_value DOUBLE, string_value MEDIUMTEXT, "
                + "bool_value BOOL) ENGINE='searchindex' "
                + "ENGINE_ATTRIBUTE='{\"index_name\":\"%s\","
                + "\"table_name\":\"%s\"}'",
        mappingTableName, indexName, tableName);
SQLQueryRequest request = new SQLQueryRequest(query);

client.sqlQuery(request);

FAQ

Terjadi error Table 'instance.table' doesn't exist saat membuat tabel pemetaan

Penyebab: Tabel data atau indeks pencarian yang ditentukan tidak ada. Pernyataan CREATE TABLE hanya membuat tabel pemetaan untuk tabel data atau indeks pencarian yang sudah ada. Pernyataan ini tidak membuat tabel data atau indeks pencarian tersebut.

Solusi: Periksa apakah nama tabel data atau indeks pencarian sudah benar dan pastikan tabel data atau indeks pencarian tersebut memang ada. Kemudian, eksekusi ulang pernyataan CREATE TABLE.

Terjadi error Table 'instance.table' already exists saat membuat tabel pemetaan

Penyebab: Tabel pemetaan tersebut sudah ada. Tabel tersebut mungkin telah dibuat melalui pernyataan CREATE TABLE atau dibuat secara otomatis ketika pernyataan DESCRIBE atau SELECT dieksekusi tanpa tabel pemetaan eksplisit. Tabel pemetaan yang dibuat secara otomatis hanya berisi kolom kunci primer dan kolom pradefinisi dari tabel data.

Solusi:

  • Jika Anda ingin menghindari error ketika tabel pemetaan sudah ada, tambahkan IF NOT EXISTS ke dalam pernyataan CREATE TABLE.

  • Jika Anda ingin mengubah skema tabel pemetaan, pertama-tama eksekusi pernyataan DESCRIBE untuk melihat skema tersebut. Anda dapat menggunakan pernyataan ALTER TABLE untuk memodifikasi tabel pemetaan yang dibuat melalui pernyataan CREATE TABLE. Tabel pemetaan yang dibuat secara otomatis tidak dapat dimodifikasi. Setelah menilai dampaknya terhadap beban kerja Anda, eksekusi pernyataan DROP MAPPING TABLE untuk menghapus tabel pemetaan tersebut, lalu buat ulang.