0

実は、テーブルのエンジンを切り替えたいと思います。InnoDBにありますが、これが原因でMyISAMに設定したいと思います。

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

エラー:ドキュメント#1214-使用されているテーブルタイプはフルテキストインデックスをサポートしていません

だから...私はこれをします:

ALTER TABLE `annonce` ENGINE = MYISAM 

しかし、私にもエラーがあります:

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

エラーは理解しています...しかし、すべての参照インデックスを強制終了して再作成したくはありません。長すぎる。

誰かがinnoDBをMyISAMに変換するアイデアを持っていますか?全文がMySQL5.6.4でサポートされていることを読みました...残念ながら、5.5.28を使用していて、Plesk 11を使用しています。アップグレードを行うと、サーバーがクラッシュするのではないかと心配しています。

誰かが私を助けることができますか?

4

3 に答える 3

2

フルテキスト インデックスまたは外部キー制約 (MyISAM はそれらをサポートしていません) は 1 つしか選択できません (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 に答える