[英]Can't change storage engine to myisam, unknown storage engine 'InnoDB'
[英]How can I change the storage engine from MyISAM to innoDB only for tables sharing a similar prefix?
使用phpmyadmin我有幾個具有相同前綴的表。 我知道我可以一個表一個表地更改存儲引擎,但是由於某些表非常繁重,因此處理加載需要花費很多時間,並且有時會崩潰。
有沒有一種方法可以選擇多個表而不使用完整的表名,然后將所選表的存儲引擎從MyISAM更改為innoDB?
phpmyadmin有一個用於執行命令的窗口。 (更好的是,使用mysql命令行工具。)
步驟1:生成ALTERs
:
SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' ENGINE=InnoDB;')
FROM information_schema.TABLES
WHERE table_schema='test' AND ENGINE='MyISAM' AND TABLE_NAME LIKE 'rj%';
+-------------------------------------------------------+
| CONCAT('ALTER TABLE ', TABLE_NAME, ' ENGINE=InnoDB;') |
+-------------------------------------------------------+
| ALTER TABLE rj_article ENGINE=InnoDB; |
| ALTER TABLE rj_blobs ENGINE=InnoDB; |
| ALTER TABLE rj_bodies ENGINE=InnoDB; |
| ALTER TABLE rj_combos ENGINE=InnoDB; |
| ALTER TABLE rj_contents ENGINE=InnoDB; |
| ALTER TABLE rj_current ENGINE=InnoDB; |
...
第2步:
通過復制來執行它們。 注意:由於phpmyadmin具有某種時間限制,因此可以提高該限制,或者切換到mysql
命令行工具。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.