[英]error while changing table engine to InnoDB
我將表引擎從MyISAM更改為InnoDB:
use db;
alter table table engine=innodb;
但是,我遇到了一個非常奇怪的問題。
我可以更改所有表的引擎,但某些表的名稱以_1
結尾的除外。
例如,我可以更改表test_2
, test_xy
,但不能更改表test_1
。 當我嘗試執行此操作時,會發生以下錯誤:
ERROR 1005 (HY000): Can't create table 'db.#sql-3d9_348' (errno: 139)
以上不只是一個。 我有learning_1
, learning_2
, learning_xy
以及如此多的配對。
我不知道為什么會這樣。 因為_1
不是特殊的字符串,例如反引號,引號,美元符號,數字符號等。 而且我認為這與db的長度,表名無關。 另外,與表格大小無關。
使用特定的表名更改表引擎時是否存在已知的錯誤或問題?
我不知道為什么_1
是一個問題,但是也許這是一種解決方法
use db;
RENAME TABLE test_1 TO test1;
alter table test1 engine=innodb;
RENAME TABLE test1 TO test_1;
當然我會建議在做任何事情之前先備份
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.