Le SDK Tablestore pour Java crée une table de mappage pour une table existante ou un index de recherche afin d'activer l'accès aux données via SQL.
Remarques sur l'utilisation
La requête SQL est prise 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, voir Historique des versions du SDK Tablestore pour PHP .
Prérequis
Initialisez un client. Pour plus d'informations, consultez la rubrique Initialiser un client Tablestore.
-
Si vous souhaitez créer une table de mappage pour un index de recherche, vous devez d'abord créer l'index de recherche.
Paramètres
L'objet SQLQueryRequest contient le paramètre suivant.
|
Nom |
Type |
Description |
|
query (obligatoire) |
String |
L'instruction |
Exemples
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. Assurez-vous que la table ou l'index de recherche pour lequel vous souhaitez créer une table de mappage 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. La table de mappage créée automatiquement 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
DESCRIBEpour interroger 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é.
Pour connaître les erreurs courantes et leurs solutions relatives à la fonctionnalité de requête SQL, consultez la rubrique Résolution des erreurs courantes de requête SQL.
Références
Après avoir créé une table de mappage, vous pouvez mettre à jour ses colonnes d'attribut, interroger ses informations, lister les noms des tables de mappage, consulter les informations d'index de la table de mappage et supprimer la table de mappage. Pour plus d'informations, consultez les rubriques Mettre à jour les colonnes d'attribut d'une table de mappage, Interroger les informations d'une table, Lister les noms des tables de mappage, Interroger les informations d'index d'une table et Supprimer une table de mappage.
Utilisez l'instruction SELECT pour interroger et analyser les données d'une table de mappage. Pour plus d'informations, consultez la rubrique Interroger des données.