Rod*_*igo 5 mysql myisam innodb
我正在将一个相当简单的表移植到我的实时数据库服务器上,当我尝试创建一个InnoDB表时,它给了我这个奇怪的错误,表创建是:
CREATE TABLE `cobertura` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`cep` int(8) unsigned zerofill NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `idx_cep` (`cep`)
) ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)
如果我将引擎更改为MyISAM它可以工作,如果我将表名更改为其他名称,它就可以工作.如果我创建表作为MyISAM并且做一个引擎改为InnoDB我得到错误121.我试着查看mysql存储文件的文件夹,看看那里是否有垃圾,没有.
有任何想法吗?
虽然数据库名称中可能有破折号(-),但它会阻止 MariaDB(以及 MySQL)将引擎设置为 InnoDB...尽管这充其量只是一个半答案,因为当我尝试导入整个数据库时回到系统,首先创建的其他表没有问题。不幸的是,这个问题现在强加在我身上,我没有时间开始一个全新的数据库名称方案策略。现在我正在更改该特定数据库的引擎以使用 MyISAM。
从一般故障排除尝试:
SHOW ENGINES;
Run Code Online (Sandbox Code Playgroud)
...如果 InnoDB 显然没有安装,那么试试这个:
INSTALL PLUGIN innodb SONAME 'ha_innodb.so';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1428 次 |
| 最近记录: |