Listado completo de tutoriales
83 - Chequear y reparar tablas (check - repair) |
Para chequear el estado de una tabla usamos "check table":
check table libros;
"check table" chequea si una o más tablas tienen errores. Esta sentencia devuelve la siguiente información: en la columna "Table" muestra el nombre de la tabla; en "Op" muestra siempre "check"; en "Msg_type" muestra "status", "error", "info" o "warning" y en "Msg_text" muestra un mensaje, generalmente es "OK".
Existen distintas opciones de chequeo de una tabla, si no se especifica, por defecto es "medium".
Los tipos de chequeo son:
- quick: no controla los enlaces incorrectos de los registros.
- fast: controla únicamente las tablas que no se han cerrado en forma correcta.
- changed: únicamente controla las tablas que se han cambiado desde el último chequeo o que no se cerraron correctamente.
- medium: controla los registros para verificar que los enlaces borrados están bien.
- extended: realiza una búsqueda completa para todas las claves de cada registro.
Se pueden combinar las opciones de control, por ejemplo, realizamos un chequeo rápido de la tabla "libros" y verificamos si se cerró correctamente:
check table libros fast quick;
Para reparar una tabla corrupta usamos "repair table":
repair table libros;
"repair table" puede recuperar los datos de una tabla.
Devuelve la siguiente información: en la columna "Table" nuestra el nombre de la tabla; en "Op" siempre muestra "repair"; en "Msg_type" muestra "status", "error", "info" o "warning" y en "Msg_text" muestra un mensaje que genealmente es "OK".
Ingresemos al programa "Workbench" y ejecutemos el siguiente bloque de instrucciones SQL:
drop table if exists libros; create table libros( codigo int unsigned auto_increment, titulo varchar(40), autor varchar(30), precio decimal(5,2) unsigned, primary key(codigo) ); -- Vamos a chequear el estado de la tabla: check table libros; -- Para realizar un chequeo rápido de la tabla "libros": check table libros fast quick; -- Si el resultado indica que la tabla está corrupta podemos -- emplear "repair table" para repararla: repair table libros;
Genera una salida similar a esta: