mysql error 'TYPE=MyISAM'
使用舊版客戶端(如 Navicat 8)操作 MySQL 5.6+ 時,匯出/建表 SQL 仍含已棄用的 TYPE=MyISAM 導致執行失敗。
MySQL 5.1 起廢除 TYPE 關鍵字,統一改為 ENGINE。舊工具產出的 DDL 不相容。
TYPE=MyISAM → ENGINE=MyISAMTYPE=InnoDB → ENGINE=InnoDBALTER TABLE db.user ENGINE = MyISAM;| 指令 | 用途 |
|---|---|
SHOW ENGINES; | 列出所有支援引擎及預設/可用狀態 |
SHOW VARIABLES LIKE '%storage_engine%'; | 查看預設儲存引擎 |
SHOW CREATE TABLE table_name; | 查看單表建表語句(含 ENGINE) |
SHOW TABLE STATUS FROM db_name; | 查看庫內所有表引擎(Engine 欄) |
CREATE TABLE discuz.cdb_user (...) ENGINE = InnoDB;
ALTER TABLE discuz.cdb_user ENGINE = InnoDB;
TYPE=。mysqldump --compatible=mysql40 導出舊版相容腳本時會產生 TYPE,導入新版需手動替換。