innodb テーブルを含むデータベースを myisam に変換したいと考えています。どうすればこれらを行うことができますか? テーブル間にいくつかの外部キーが存在します。
どうすればこれを最善の方法で作ることができますか?
外部キーがまだ存在している間は、InnoDBからMyISAMに直接変換することはできません。最初に制約を削除する必要があります。これを行うには、テーブルごとに次の手順に従います。
SHOW CREATE TABLE tablename
ALTER TABLE tablename DROP FOREIGN KEY x
どこにあるかを発行する必要があります。x
CONSTRAINT
FOREIGN KEY
SHOW CREATE TABLE tablename
します。外部キー制約がインデックスを残している可能性があります(InnoDBは各外部キーにインデックスを必要とし、制約を削除したからといって必ずしもそれらを削除するとは限らないため)。不要になったと判断したインデックスごとに、を発行しALTER TABLE tablename DROP INDEX indexname
ます。制約に関係するすべてのテーブルに対してこれを実行したら、を使用してテーブルを個別にMyISAMに変換できますALTER TABLE tablename ENGINE=MYISAM
。