[英]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.