MySQL表的修复仅适用于MyISAM引擎类型,不适用于InnoDB。因此,我们需要将引擎类型更改为MyISAM。
以下是一个示例。
建立表格
mysql> create table RepairTableDemo -> ( -> id int, -> name varchar(100) -> );
要将表转换为引擎类型MyISAM,请使用ALTER。
mysql> ALTER TABLE RepairTableDemo ENGINE = MyISAM; Records: 0 Duplicates: 0 Warnings: 0
将记录插入表中。
mysql> insert into RepairTableDemo values(1,'John'),(2,'Carol'),(3,'Johnson'); Records: 3 Duplicates: 0 Warnings: 0
显示所有记录。
mysql> select *from RepairTableDemo;
以下是输出。
+------+---------+ | id | name | +------+---------+ | 1 | John | | 2 | Carol | | 3 | Johnson | +------+---------+ 3 rows in set (0.00 sec)
现在让我们看看修复表的语法。
REPAIR TABLE yourTableName;
以下是查询-
mysql> REPAIR TABLE RepairTableDemo;
这是输出。它表明修复状态良好。
+--------------------------+--------+----------+----------+ | Table | Op | Msg_type | Msg_text | +--------------------------+--------+----------+----------+ | business.repairtabledemo | repair | status | OK | +--------------------------+--------+----------+----------+ 1 row in set (0.10 sec)