Tous les produits
Search
Centre de documentation

Tablestore:Create a mapping table

Dernière mise à jour :Aug 08, 2026

Le SDK Tablestore pour Java crée une table de mappage pour une table ou un index de recherche existant afin d'activer l'accès aux données via SQL.

Prérequis

Description

Appelez la méthode sqlQuery pour exécuter une instruction CREATE TABLE et créer une table de mappage pour une table ou un index de recherche existant.

SQLQueryResponse sqlQuery(SQLQueryRequest request)

Pour une table de données, la table de mappage doit porter le même nom que la table de données. Les noms de champs ne sont pas sensibles à la casse et les types de champs doivent correspondre à ceux de la table de données. Pour un index de recherche, vous pouvez personnaliser le nom de la table de mappage et utiliser ENGINE ainsi que ENGINE_ATTRIBUTE pour spécifier la table de données et l'index de recherche.

Pour connaître la syntaxe, les types de champs et les paramètres de l'instruction CREATE TABLE, consultez la rubrique Opérations DDL.

L'exemple suivant crée une table de mappage pour la table de données example_table, qui contient une colonne de clé primaire de type chaîne et quatre colonnes d'attributs.

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);

Paramètres

L'objet SQLQueryRequest contient le paramètre suivant.

Nom

Type

Description

query (obligatoire)

String

L'instruction CREATE TABLE qui définit le nom de la table de mappage, les champs, la clé primaire et le moteur de requête. Les mappages de tables de données et les mappages d'index de recherche utilisent des syntaxes différentes.

Exemples de scénarios

Créer une table de mappage pour un index de recherche

Pour créer une table de mappage pour un index de recherche, définissez ENGINE sur searchindex et spécifiez la table de données et l'index de recherche dans ENGINE_ATTRIBUTE. L'exemple suivant crée une table de mappage nommée example_search_table pour l'index de recherche example_index de la table de données 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

L'erreur Table 'instance.table' doesn't exist s'affiche lors de la création d'une table de mappage

Cause : La table de données ou l'index de recherche spécifié n'existe pas. L'instruction CREATE TABLE crée uniquement une table de mappage pour une table de données ou un index de recherche existant. Elle ne crée pas la table de données ni l'index de recherche.

Solution : Vérifiez que le nom de la table de données ou de l'index de recherche est correct et assurez-vous que la ressource existe. Exécutez ensuite à nouveau l'instruction CREATE TABLE.

L'erreur Table 'instance.table' already exists s'affiche lors de la création d'une table de mappage

Cause : La table de mappage existe déjà. Elle a pu être créée par une instruction CREATE TABLE ou générée automatiquement lors de l'exécution d'une instruction DESCRIBE ou SELECT sans table de mappage explicite. Une table de mappage créée automatiquement contient uniquement les colonnes de clé primaire et les colonnes prédéfinies de la table de données.

Solution :

  • Si vous souhaitez éviter une erreur lorsque la table de mappage existe déjà, ajoutez IF NOT EXISTS à l'instruction CREATE TABLE.

  • Si vous souhaitez modifier le schéma de la table de mappage, exécutez d'abord une instruction DESCRIBE pour afficher le schéma. Vous pouvez utiliser une instruction ALTER TABLE pour modifier une table de mappage créée par une instruction CREATE TABLE. Une table de mappage créée automatiquement ne peut pas être modifiée. Après avoir évalué l'impact sur vos charges de travail, exécutez une instruction DROP MAPPING TABLE pour supprimer la table de mappage, puis recréez-la.