Ejecute la instrucción CREATE TABLE para crear una tabla de mapeo de una tabla o un índice de búsqueda existente. Al crearla, especifique los nombres y tipos de campo, la información de la clave principal y el motor de ejecución que utilizará para consultar datos según sus necesidades de negocio.
Para obtener más información sobre la sintaxis, los tipos de campo y los parámetros de la instrucción CREATE TABLE, consulte DDL operations.
Notas de uso
Las consultas SQL son compatibles con Tablestore SDK for .NET V5.0.0 y versiones posteriores. Compruebe que tiene instalada una versión del SDK compatible.
Para obtener más información, consulte Version history of Tablestore SDK for .NET .
Requisitos previos
Inicialice un cliente. Para obtener más información, consulte Initialize a Tablestore client.
-
Si desea crear una tabla de mapeo para un índice de búsqueda, primero debe create the search index.
Parámetros
|
Parámetro |
Descripción |
|
query |
La instrucción SQL. Configure este parámetro según la función obligatoria. |
Ejemplos
Este tema describe cómo crear una tabla de mapeo para una tabla. Si necesita crear una tabla de mapeo para un índice de búsqueda, reemplace la instrucción SQL del código de ejemplo por la instrucción correspondiente a dicho índice.
A continuación se muestra cómo usar la instrucción CREATE TABLE para crear una tabla de mapeo de la tabla test_table.
/// <summary>
/// Create a mapping table for a data table.
/// </summary>
/// <param name="otsClient"></param>
public static void CreateMappingTable(OTSClient otsClient)
{
string sqlCommand = @"CREATE TABLE `test_table` (
`pk0` VARCHAR(1024),
`pk1` BIGINT(20),
`col0` MEDIUMTEXT,
`col1` BIGINT(20),
`col2` DOUBLE,
`col3` BOOL,
`col4` MEDIUMBLOB,
`date_col` MEDIUMTEXT,
`geo_col` MEDIUMTEXT,
`col0_v1` MEDIUMTEXT,
`col0_v2` MEDIUMTEXT,
PRIMARY KEY(`pk0`,`pk1`)
);";
SQLQueryRequest sqlQueryRequest = new SQLQueryRequest(sqlCommand);
SQLQueryResponse sqlQueryResponse = otsClient.SQLQuery(sqlQueryRequest);
}
Preguntas frecuentes
¿Qué hago si al crear una tabla de mapeo se devuelve el error "Table 'instancename.tablename' doesn't exist ?"
-
Causa posible
La tabla para la que intenta crear la tabla de mapeo no existe.
-
Solución
La instrucción SQL CREATE TABLE solo permite crear una tabla de mapeo para una tabla o un índice de búsqueda existente. Compruebe que la tabla o el índice de búsqueda de destino exista antes de continuar.
¿Qué hago si al crear una tabla de mapeo se devuelve el error "Table 'instancename.tablename' already exist?"
-
Causa posible
Ya se creó una tabla de mapeo para la tabla indicada.
El usuario creó manualmente una tabla de mapeo para dicha tabla.
Tablestore creó automáticamente una tabla de mapeo. Esto ocurre cuando se consultan datos directamente con instrucciones SQL (como DESCRIBE o SELECT) sin haber creado antes una tabla de mapeo. La tabla generada de forma automática solo incluye las columnas de clave principal y las columnas predefinidas de la tabla de datos, por lo que no es posible actualizar sus columnas de atributo.
-
Solución
Ejecute la instrucción
DESCRIBEpara consultar el esquema de la tabla de mapeo. Si el esquema no cumple con sus necesidades de negocio, puede Update the attribute columns of a mapping table. Cuando Tablestore genera la tabla de mapeo automáticamente, no es posible actualizar las columnas de atributo. En ese caso, elimine la tabla de mapeo y cree una nueva, siempre que haya comprobado que esta acción no afecta su operación.
Para conocer los errores comunes de consultas SQL y sus soluciones, consulte Troubleshoot common SQL query errors.
Referencias
Después de crear una tabla de mapeo, puede actualizar sus columnas de atributo, consultar su información, obtener los nombres de las tablas de mapeo, revisar su información de índices y eliminarla. Para obtener más información, consulte Update attribute columns of a mapping table, Query information about a table, Query the names of mapping tables, Query index information about a table y Delete a mapping table.
Utilice la instrucción SELECT para consultar y analizar los datos de una tabla de mapeo. Para obtener más información, consulte Query data.