如何從命令列修復 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)

更新於:30-7-2019

282 人瀏覽

開啟你的事業

完成課程以獲得認證

開始
廣告
© . All rights reserved.