0

实际上,我想切换表的引擎。InnoDB 中有,因此我想将它们设置为 MyISAM

ALTER TABLE `xxx_db`.`yyy` ADD FULLTEXT `ft_modele` (
    `anno_modele`
)

错误:文档 #1214 - 使用的表类型不支持 FULLTEXT 索引

所以......我这样做:

ALTER TABLE `annonce` ENGINE = MYISAM 

但我也有一个错误:

#1217 - Cannot delete or update a parent row: a foreign key constraint fails 

我理解这个错误......但我真的不想杀死我所有的引用索引,然后重新创建它们。太长。

有人有将 innoDB 转换为 MyISAM 的想法吗?我读到 MySQL 5.6.4 支持全文......不幸的是,我有 5.5.28 并且我在 Plesk 11 上。我担心如果我进行升级,我的服务器会崩溃。

有人可以帮助我吗?

4

3 回答 3

2

全文索引或外键约束(MyISAM 不支持这些)你只能选择一个(直到 MySQL 5.6)。

无论如何,更改数据库引擎将导致整个表重写(创建新的、移动数据、删除旧的)。

如果我是你,我会去升级。

于 2013-02-11T16:56:58.247 回答
2

不幸的是,您不能在 MySQL 5.5 中拥有同时支持外键约束和全文索引的表。正如您已经注意到的那样,MySQL 5.6 确实支持 InnoDB 的全文索引

如果可能,我建议更新 MySQL。MySQL 5.6 稳定。

或者使用外部全文索引,如SphinxLucene

于 2013-02-11T16:58:35.513 回答
0

不幸的是,对我来说没有好的选择。虽然没有使用新版本的 mysql 升级 plesk,但我无法在不造成不稳定的情况下升级服务器。

所以,我只是 mysqldump 我的数据库并编辑表和键。

坦克寻求帮助。祝你今天过得愉快

于 2013-02-13T12:56:03.743 回答