現在、テーブルのストレージタイプはinnodbです。MYISAM
エンジンでのみ可能な全文検索をテーブルに追加します。 私は、コマンドに=>alter table film engine = myisam;
を使用してみましたし、エラーを得た:Mysqlのテーブルのストレージエンジンを変更する
1217 - Cannot delete or update a parent row: a foreign key constraint fails
助けてください!おかげさまで
現在、テーブルのストレージタイプはinnodbです。MYISAM
エンジンでのみ可能な全文検索をテーブルに追加します。 私は、コマンドに=>alter table film engine = myisam;
を使用してみましたし、エラーを得た:Mysqlのテーブルのストレージエンジンを変更する
1217 - Cannot delete or update a parent row: a foreign key constraint fails
助けてください!おかげさまで
あなたはFK制約によって、このテーブルを参照するデータベースのテーブルを見つける必要があります。
は、テーブルの外部キー制約を識別します。あなたはすべての制約(もちろん、あなたの制約名とをibfk_something を置き換える)ドロップするまでに必要な書類
ALTER TABLE film DROP FOREIGN KEY `ibfk_something`;
を実行
SHOW CREATE TABLE `table_in_db_film`\G;
または
その後USE db_of_film_table;
SHOW TABLE STATUS LIKE 'film'\G
を使用しますか。その後、テーブルエンジンを変更できるはずです。
外部キー制約を削除せずにインテグリティを失うことなく、テーブルのエンジンをMyISAMに変更することはできません。
MyISAMとInnoDBの両方のエンジンを使用する方がよいでしょう。すべてのデータをInnoDBに保存し、MyISAMでテーブル(または全文検索をしたい列のみ)を複製します。これにより、データの複製を自動化するためのメカニズム(トリガー)が必要になります。ここ
その他のオプション:MySQL storage engine dilemma
、すべての外部キー制約を削除します。しかし、代わりにテキストフィールドを使って別のテーブルを作成することをお勧めします – zerkms
MyIsamエンジンに変更する必要はありません –