次に挙げるのは、MERGE
        テーブルに関する既知の問題です。
      
            MERGE
            テーブルでは、テーブル全体で
            UNIQUE
            制約を保持できない。INSERT
            を実行すると、INSERT_METHOD=xxx
            に応じてデータが最初または最後のテーブルに挿入される。挿入先の
            MyISAM
            テーブルではそのデータが一意であることが保証されるが、このテーブルは他の
            MyISAM
            テーブルについてまったく関知しない。
          
            WHERE なしで DELETE FROM
            merge_table
            を使用すると、テーブルに対するマッピングのみが消去され、マップされたテーブルの内容は一切削除されない。
          
            アクティブな MERGE
            テーブルで使用されているテーブルに対して
            RENAME TABLE
            を実行すると、テーブルが破損するおそれがある。これは
            MySQL 4.1.x で修正される予定。
          
            MERGE
            型のテーブルを作成するときに、その構成要素となるテーブルの型に互換性があるか、またはそのテーブル自体が存在するかがチェックされない。MERGE
            テーブルが使用される際に、マップされたテーブル間でレコード長が等しいかどうかが
            MySQL
            によって簡単にチェックされるが、これでは完全な検証にならない。
          
            このような方法で MERGE
            をテーブルを使用していると、高い確率で未知の問題が発生する。
          
            ALTER TABLE を使用して
            MERGE
            テーブルで使用されているテーブルに
            UNIQUE
            インデックスを追加した後に、再び
            ALTER TABLE を使用して
            MERGE
            テーブルに通常のインデックスを追加すると、以前の一意でないキーがテーブルに存在していた場合に、テーブルに対するキーの順序が変わる。これは、重複キーをできるだけ早く検出できるように、ALTER
            TABLE が UNIQUE
            キーを通常のキーの前に配置するためである。
          
            Windows では、MERGE
            テーブルが使用しているテーブルに対して
            DROP TABLE
            を実行できない。これは、MERGE
            ストレージエンジンが実行するテーブルマッピングを
            MySQL
            の上位レイヤが認識しないためである。Windows
            では開いているファイルを破棄できないため、対象のテーブルを破棄する前に、FLUSH
            TABLES ですべての MERGE
            テーブルをフラッシュするか、MERGE
            テーブルを破棄する必要がある。これについては、ビューを導入するときに修正する。
          
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

