繁体   English   中英

无法创建 InnoDB 表(错误 -1)

[英]Can't create InnoDB table (error -1)

我正在将一个相当简单的表移植到我的实时数据库服务器,当我尝试创建一个 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;

如果我将引擎更改为 MyISAM,它可以工作,如果我将表名更改为其他名称,它就可以工作。 如果我将表创建为 MyISAM 并对 InnoDB 进行引擎更改,则会收到错误 121。我尝试查看 mysql 存储文件的文件夹,看看那里是否有垃圾,什么也没有。

有任何想法吗?

虽然数据库名称中可能有一个破折号 (-),但它会阻止 MariaDB(以及 MySQL)将引擎设置为 InnoDB ......尽管这充其量只是一个半答案,因为我正在尝试导入整个数据库回到系统中,首先创建的其他表没有问题 不幸的是,这个问题现在迫使我自己,我没有时间启动一个全新的数据库名称方案策略。 现在,我正在更改该特定数据库的引擎以改用 MyISAM。

一般故障排除尝试:

SHOW ENGINES;

...如果 InnoDB 显然没有安装,那么试试这个:

INSTALL PLUGIN innodb SONAME 'ha_innodb.so';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM