繁体   English   中英

Mysql,InnoDB到MyISAM以获得全文索引

[英]Mysql, InnoDB to MyISAM for fulltext index

实际上,我想切换表的引擎。 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上。我担心如果进行升级,我的服务器会崩溃。

有人可以帮助我吗?

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

无论如何,更改数据库引擎都会导致总表重写(创建新表,移动数据,删除旧表)。

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

不幸的是,MySQL 5.5中没有一个既支持外键约束又支持全文索引的表。 正如您已经提到的,MySQL 5.6确实支持InnoDB的全文本索引

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

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

不幸的是,对我来说没有好的选择。 虽然没有使用新版本的mysql进行plesk的升级,但是如果没有创建不稳定因素,我将无法升级服务器。

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

坦克的帮助。 祝你今天愉快

暂无
暂无

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

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