MySQL 如何使用命令行修复MySQL表?
仅适用于MyISAM引擎类型,不适用于InnoDB。因此,我们需要将引擎类型更改为MyISAM。
以下是一个示例。
创建一个表
mysql> create table RepairTableDemo
-> (
-> id int,
-> name varchar(100)
-> );
Query OK, 0 rows affected (0.51 sec)
要将此表转换为MyISAM引擎类型,请使用ALTER。
mysql> ALTER TABLE RepairTableDemo ENGINE = MyISAM;
Query OK, 0 rows affected (1.14 sec)
Records: 0 Duplicates: 0 Warnings: 0
向表中插入记录。
mysql> insert into RepairTableDemo values(1,'John'),(2,'Carol'),(3,'Johnson');
Query OK, 3 rows affected (0.06 sec)
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)
阅读更多:MySQL 教程