Tous les produits
Search
Centre de documentation

Tablestore:Create a mapping table

Dernière mise à jour :Sep 29, 2026

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

Remarques sur l'utilisation

Les requêtes SQL sont prises en charge à partir de la version 5.1.0 du SDK Tablestore pour PHP. Assurez-vous d'avoir installé une version compatible.

Pour consulter l'historique des versions du SDK Tablestore pour PHP, reportez-vous à la rubrique Historique des versions du SDK Tablestore pour PHP .

Prérequis

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. La syntaxe diffère selon qu'il s'agit d'un mappage de table de données ou d'un mappage d'index de recherche.

Exemples

Remarque

Cette rubrique explique comment créer une table de mappage pour une table. Si vous souhaitez créer une table de mappage pour un index de recherche, remplacez l'instruction SQL dans l'exemple de code par celle utilisée pour créer une table de mappage pour un index de recherche.

L'exemple suivant montre comment utiliser l'instruction CREATE TABLE pour créer une table de mappage pour la table 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);

FAQ

Que faire si le message d'erreur « Table 'instancename.tablename' doesn't exist ? » s'affiche lors de la création d'une table de mappage ?

  • Cause possible

    La table pour laquelle vous souhaitez créer une table de mappage n'existe pas.

  • Solution

    Vous ne pouvez exécuter l'instruction CREATE TABLE en SQL pour créer une table de mappage que pour une table ou un index de recherche existant. Vérifiez que la table ou l'index de recherche cible existe bien.

Que faire si le message d'erreur « Table 'instancename.tablename' already exist? » s'affiche lors de la création d'une table de mappage ?

  • Cause possible

    Une table de mappage a déjà été créée pour la table.

    • L'utilisateur a créé manuellement une table de mappage pour la table.

    • Tablestore a automatiquement créé une table de mappage pour la table. Si vous utilisez directement des instructions SQL (telles que DESCRIBE, SELECT, etc.) pour interroger les données d'une table de données sans avoir préalablement créé de table de mappage, Tablestore génère automatiquement une table de mappage. Cette table de mappage automatique ne contient que les colonnes de clé primaire et les colonnes prédéfinies de la table de données. Vous ne pouvez pas mettre à jour les colonnes d'attribut de cette table de mappage.

  • Solution

    Exécutez l'instruction DESCRIBE pour consulter le schéma de la table de mappage. Si le schéma ne répond pas à vos besoins métier, vous pouvez mettre à jour les colonnes d'attribut de la table de mappage. Si la table de mappage a été créée automatiquement par Tablestore, vous ne pouvez pas mettre à jour ses colonnes d'attribut. Dans ce cas, vous pouvez supprimer la table de mappage et en créer une nouvelle, à condition que cette suppression n'affecte pas votre activité.

Remarque

Pour connaître les erreurs courantes liées à la fonctionnalité de requête SQL et leurs solutions, consultez la rubrique Résoudre les erreurs courantes des requêtes SQL.

Références