CHECK TABLEtbl_name[,tbl_name] ... [option] ...option= {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}
          Chequea una tabla o tablas para errores. CHECK
          TABLE funciona para tablas MyISAM
          y InnoDB . Para tablas
          MyISAM , la estadística de clave se
          actualiza.
        
          Desde MySQL 5.0.2, CHECK TABLE puede
          comprobar las vistas en busca de problemas tales como tablas
          que se referencian en la definición de la vista que ya no
          existe.
        
          El comando CHECK TABLE retorna una tabla
          con las siguientes columnas:
        
| Columna | Valor | 
| Tabla | Nombre de tabla | 
| Op | Siempre check | 
| Msg_type | Es status,error,info, owarning | 
| Msg_text | Mensaje | 
          Tenga en cuenta que el comando puede producir varios registros
          para información de cada tabla chequeada. El último registro
          tiene un valor Msg_type de
          status y Msg_text
          normalmente debe ser OK. Si no obtiene
          OK, o Table is already up to
          date debe realizar una reparación de la tabla.
          Consulte Sección 5.8.3, “Mantenimiento de tablas y recuperación de un fallo catastrófico
        (crash)”. Table
          is already up to date significa que el motor de
          almacenamiento para la tabla indicada indica que no hay
          necesidad de chequear la tabla.
        
          Las distintas opciones de chequeo que pueden darse se muestran
          en la siguiente tabla. Estas opciones se aplican sólo para
          tablas MyISAM y se ignoran en tablas
          InnoDB y vistas.
        
| Tipo | Significado | 
| QUICK | No escanea los registros para chequear enlaces incorrectos. | 
| FAST | Sólo chequea tablas que no se han cerrado correctamente. | 
| CHANGED | Sólo las tablas chequeadas que se han cambiado desde el úlitmo chequeo o no se han cerrado correctamente. | 
| MEDIUM | Escanea registros para verificar que los enlaces borrados están bien. También calcula el checksum de la clave para los registros y lo verifica con el checksum calculado para las claves. | 
| EXTENDED | Realiza una búsqueda completa para todas las claves para cada registro. Se asegura que la tabla es consistente 100%, pero tarda mucho tiempo! | 
          Si ninguna de las opciones QUICK,
          MEDIUM, o EXTENDED se
          especifica, el tipo de chequeo por defecto para tablas de
          formato dinámico MyISAM es
          MEDIUM. Esto es lo mismo que ejecutar
          myisamchk --medium-check
          tbl_name en la tabla. El
          tipo de chequeo por defecto también es
          MEDIUM para tablas
          MyISAM de formato estático, a no ser que
          se especifique CHANGED o
          FAST. En tal caso, por defecto es
          QUICK. El escaneo de registro se evita para
          CHANGED y FAST porque
          los registros están corruptos muy raramente.
        
Puede combinar opciones de chequeo, como en el siguiente ejemplo, que realiza un chequeo rápido de la tabla para ver si se cerró correctamente:
CHECK TABLE test_table FAST QUICK;
          Nota: En algunos casos,
          CHECK TABLE cambia la tabla. Esto ocurre si
          la tabla se marca como “corrupted” o “not
          closed properly” pero CHECK TABLE no
          encuentra ningún problema en la tabla. En este caso,
          CHECK TABLE marca la tabla como correcta.
        
Si una tabla está corrupta, es más probable que el problema esté en el índice y no en la parte de datos. Todos los tipos de chequeo chequean los índices profundamente y deberían encontrar la mayoría de errores.
          Si quiere chequear una tabla que asume como correcta, no debe
          usar opciones de chequeo o la opción
          QUICK. Ésta debe usarse cuando tiene prisa
          y puede permitirse el pequeño riesgo que
          QUICK no encuentre un error en el fichero
          de datos. (En la mayoría de casos, MySQL debería encontrar,
          bajo uso normal, cualquier error en el fichero de datos. Si
          esto ocurre, la tabla se marca como “corrupted” y
          no puede usarse hasta que se repare.)
        
          FAST y CHANGED están
          pensados para usar desde un script (por ejemplo, para
          ejecutarse desde cron) si quiere chequear
          sus tablas de vez en cuando. En la mayoría de casos,
          FAST se prefiere en lugar de
          CHANGED. (El único caso en que no es el
          método preferido es cuando sospecha que ha encontrado un bug
          en el código MyISAM .)
        
          EXTENDED debe usarse sólo después de
          ejecutar un chequeo normal pero todavía obtiene errores
          extraños de la tabla cuando MySQL intenta actualizar un
          registro o encuentra un registro mediante la clave. (Esto es
          muy improbable si un chequeo normal ha tenido éxito.)
        
          Algunos problemas reportados por CHECK
          TABLE no pueden corregirse automáticamente:
        
              Found row where the auto_increment column has the
              value 0.
            
              Esto significa que tiene un registro en la tabla donde la
              columna AUTO_INCREMENT contiene un
              valor de índice de 0. (Es posible crear un registro donde
              la columna AUTO_INCREMENT es 0 poneindo
              la columna explícitamente a 0 con un comando
              UPDATE .)
            
              Esto no es un error por si mismo, pero puede causar
              problemas si decide volcar la tabla y restaurarla o
              realizar un ALTER TABLE en la tabla. En
              este caso, la columna AUTO_INCREMENT
              cambia los valores según las reglas de las columnas
              AUTO_INCREMENT , que pueden causar
              problemas tales como errores de clave duplicada.
            
              Para evitar las advertencias, símplemente ejecute un
              comando UPDATE para poner en la columna
              un valor distinto a 0.
            
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

