Name
CHECK TABLE
Synopsis
CHECK TABLE table[, ...] [CHANGED|QUICK|FAST|MEDIUM|EXTENDED|FOR UPGRADE]Use this statement to check tables for errors; as of version 5.1.9 of MySQL, it works with the
MyISAM, InnoDB, ARCHIVE, and CSV storage engines. If errors are
discovered, you should run the REPAIR TABLE
statement to repair the table. Multiple tables may be given in a
comma-separated list. This statement requires
SELECT privileges.
There are several ways to control checking, specified after the list of tables:
CHANGEDChecks only tables that have been changed since the last check.
QUICKChecks tables for errors, but won’t scan individual rows for linking problems.
FASTChecks only tables that have not been closed properly.
MEDIUMDetermines the key checksum for the rows and compares the results against the checksum for the keys. This option also checks rows to ensure that links were deleted properly.
EXTENDEDThoroughly checks each row for errors. It takes a long time to complete.
FOR UPGRADEChecks a table against the version of MySQL in use. If the table was created from an earlier version and there have been changes to the new version that make the table incompatible, the statement will then begin the
EXTENDEDmethod to thoroughly check the table. If it’s successful, it will note that the table has already been checked so that future checks can avoid the time-consuming check. This option is available starting with version 5.1.7 of MySQL.
Here is an example of how you can use this statement:
CHECK ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access