2

私がやろうとしている

ALTER table tbl_name Engine=MyISAM;

そして私は得る

ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

外部キーを持つテーブルを削除せずに上記のクエリを実行するにはどうすればよいですか?

前もって感謝します!

UPDMyIsamは、全文検索のみをサポートすることを正しく理解しましたか?

4

2 に答える 2

11

SET FOREIGN_KEY_CHECKS = 0;助けにならない。

MyISAMに変換するテーブルへの外部キー参照を含む他のInnoDBテーブルがある場合は、外部キーを手動で削除する必要があります。MySQLサイトのこの投稿も参照してください。

于 2013-01-11T23:57:19.377 に答える
4

試す

SET FOREIGN_KEY_CHECKS = 0;
ALTER table tbl_name Engine=MyISAM;
SET FOREIGN_KEY_CHECKS = 1;

InnoDBストレージエンジンは、外部キー制約のチェックをサポートしています。InnoDB以外のストレージエンジンの場合、MySQLサーバーはCREATETABLEステートメントのFOREIGNKEY構文を解析しますが、それを使用または保存しません。

外部キーの違い

于 2012-06-18T09:26:24.453 に答える