【问题标题】:MySQL cannot convert its engine from MyISAM to ARCHIVEMySQL 无法将其引擎从 MyISAM 转换为 ARCHIVE
【发布时间】:2017-08-30 15:52:43
【问题描述】:

需要转换引擎的表仅用于读取目的,其内容永远不会改变。所以我想将表的引擎转换为ARCHIVE,但是当我尝试转换它时,我得到了下面的错误。

Error Code: 1069. Too many keys specified; max 1 keys allowed

MySQL 的版本是 5.5。 这是索引相关的问题吗?

【问题讨论】:

  • 我可以猜测您图片中的两个字母缩写可能意味着什么:“PK”可能是“主键”,“AI”可能意味着“自动增量”,但我不知道不知道'NN'代表什么。请解释一下。
  • this dba stackexchange 上的回答或许能帮到你
  • @KIKOSoftware NN 代表 No NULL
  • @Shogunivar:啊,是的,当然。所以这并不重要。

标签: mysql archive myisam


【解决方案1】:

看起来肯定是PK 问题,因为archive支持primary keys。您可以简单地删除主键,它应该可以工作。

请参阅this post 了解如何转换数据库的示例

【讨论】:

  • 我删除了主键。但是,它仍然不允许我更换引擎。
  • 你试过链接的第二种方法了吗?您可以制作数据库的副本,更改新数据库的引擎,然后将所有数据插入新数据库。然后删除旧的并更改新的名称
  • @Shogunivar 的意思是“table 的副本”,而不是“database 的副本”。
猜你喜欢
  • 2021-09-28
  • 2012-05-04
  • 2013-04-25
  • 2014-09-08
  • 2014-02-26
  • 1970-01-01
  • 2015-12-30
  • 2010-12-25
  • 2012-04-15
相关资源
最近更新 更多