簡體   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