CHECK TABLE nome_tabela[,nome_tabela...] [opção [opção...]] opção = QUICK | FAST | MEDIUM | EXTENDED | CHANGED
        CHECK TABLE funciona somente em tabelas
        MyISAM. Em tabelas MyISAM
        é a mesma coisa que executar myisamchk --medium-check
        nome_tabela na tabela.
      
        Se você não especificar nenhuma opção,
        MEDIUM é usado.
      
        Verifica se existem erros na(s) tabela(s). Para as tabelas
        MyISAM as estatísticas das chaves são
        atualizadas. O comando retorna uma tabela com as seguintes
        colunas:
      
| Coluna | Valor | 
| Table | Nome da Tabela. | 
| Op | Sempre check | 
| Msg_type | Um dos seguintes: status,error,info, orwarning | 
| Msg_text | A mensagem | 
        Note que a instrução pode produzir várias linhas de
        informações para cada tabela conferida. A última linha irá
        ser do tipo Msg_type status e normalmente
        deve estar OK. Se você não obteve
        OK ou Not checked, deve
        ser executado, normalmente, um reparo da tabela. See
        Secção 4.5.6, “Utilizando myisamchk para Manutenção de Tabelas e
        Recuperação em Caso de Falhas”. Table is already
        up to date significa que o gerenciador de
        armazenamento para a tabela indica que não há necessidade de
        verificar a tabela.
      
Os diferentes tipos de consistências são as seguintes:
| Tipo | Significado | 
| QUICK | Não busca os registros verificando ligações incorretas. | 
| FAST | Só confere tabelas que não foram fechadas corretamente. | 
| CHANGED | Só verifica as tabelas que foram alteradas desde a última conferência ou que não foram fechadas corretamente. | 
| MEDIUM | Busca os registros para verificanado que ligações removidas estão ok. Isto também calcula uma chave de conferência para os registros e verifica isto com um checksum calculado para as chaves. | 
| EXTENDED | Faz uma busca completa nas chaves para todas as chaves em cada registro. Isto assegura que a tabela está 100% consistente, mas pode demorar muito tempo para executar! | 
        Para tabelas MyISAM de tamanho dinâmico, uma
        verificação iniciada sempre fará uma verificação
        MEDIUM. Para registros de tamanho estático
        nós saltamos a busca de registros para QUICK
        e FAST já que os registros estão raramente
        corrompidos.
      
Você pode combinar opções de consistência como no exemplo a seguir que faz uma verificação rápida na tabela para ve se ela foi fechada corretamente:
CHECK TABLE test_table FAST QUICK;
        NOTA: em alguns casos
        CHECK TABLE irá alterar a tabela! Isto
        acontece se a tabela estiver marcada como 'corrupted'
        (corrompida) ou 'not closed properly' (não foi fechada
        corretamente) mas o CHECK TABLE não
        encontrar não encontrar nenhum problema na tabela. Neste caso,
        CHECK TABLE irá marcar a tabela como ok.
      
Se uma tabela estiver corrompida, é preferível que seja um problema nos índices e não na parte de dados. Todos os tipos de consistência acima sempre confere os índices e deve então encontrar a maioria dos erros.
        Se você só quiser conferir uma tabela que acredita estar ok,
        você não deve utilizar nenhuma opção para o comando check ou
        utilizar a opção QUICK. O último deve ser
        utilizado quando você estiver com pressa e o rísco do
        QUICK não encontrar um erro no arquivo de
        dados for mínimo (Na maioria dos casos o MySQL pode encontrar,
        sob utilização normal, qualquer erro no arquivo de dados. Se
        isto ocorrer, então a tabela será marcada como 'corrupted',
        neste caso a tabela não poderá ser utilizada até ser
        reparada).
      
        FAST e CHANGED são
        normalmente chamados a partir de um script (um exemplo é ser
        executado a partir do cron) Se você desejar conferir suas
        tabelas de tempos em tempos. Na maioria dos casos, o
        FAT é uma opção melhor que
        CHANGED. (O único caso em que isto não
        acontece é quando você suspeita que encontrou um bug no
        código do MyISAM.).
      
        EXTENDED deve ser utilizado somente depois de
        ter executado um check normalmente, mas continuar obtendo erros
        de uma tabela quando o MySQL tenta atualizar um registro ou
        encontrar um registro pela chave (isto seria muito difícil
        ocorrer caso uma conferência normal tenha executado com
        sucesso!).
      
        Alguns problemas relatados por CHECK TABLE,
        não podem ser corrigidas automaticamente:
      
            Found row where the auto_increment column has the
            value 0.
          
            Isto significa que você possui um registro na tabela onde o
            campo índice que utiliza o recurso
            auto_increment contem o valor 0. (É
            possível criar um registro onde a coluna de auto incremento
            seja 0 definindo explicitamente 0 em uma instrução
            UPDATE).
          
            Isto não é exatamente um erro, mas pode causar problemas
            se você decidir descarregar a tabela e restaurá-la ou
            executar um ALTER TABLE na tabela. Neste
            caso a coluna de auto incremento irá alterar seu valor, de
            acordo com as regras das colunas de auto incremento, que
            pode causar problemas como um erro de chave duplicada.
          
            Para se livrar do alerta, basta executar uma instrução
            UPDATE para configurar a coluna para
            algum outro valor diferente de 0.
          
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

