<p>MySQL error 1472 appears when a table being added to a MERGE (MRG_MyISAM) group is not MyISAM or its structure differs from existing member tables.</p>
<p>MySQL Error 1472 (ER_ADMIN_WRONG_MRG_TABLE) signals that a table you are adding to a MERGE table set has a different structure or storage engine. Convert the table to MyISAM and align all columns, indexes, and AUTO_INCREMENT settings to clear the error.</p>
Table '%s' is differently defined or of non-MyISAM type
MySQL raises error 1472 with the message Table '%s' is differently defined or of non-MyISAM type when you execute ALTER TABLE ... UNION=..., CREATE TABLE ... ENGINE=MRG_MyISAM, or REPAIR TABLE on a MERGE table set. The server rejects the operation because one or more child tables violate MERGE requirements.
A MERGE table, now called MRG_MyISAM, virtually combines multiple underlying MyISAM tables with identical structures. Consistency is mandatory so that the storage engine can treat them as one logical table.
The error surfaces while adding, removing, or validating member tables. It is common during schema migrations, table recreations, or accidental engine conversions after MySQL upgrades.
Ignoring the mismatch prevents queries from using the MERGE table, breaks legacy applications relying on UNION= definitions, and risks data divergence among partitions. Resolving the error restores seamless reads and writes across all member tables.
A mismatch in column order, data type, default value, or index definition triggers the error instantly. Even subtle differences such as unsigned versus signed integers are disallowed.
Using a storage engine other than MyISAM (for example, InnoDB or Aria) on any child table also raises the error because MERGE supports only MyISAM.
If the specified table name is missing or dropped, MySQL treats the absence as a definition mismatch and returns 1472.
First, confirm that every child table listed in the UNION clause exists and uses ENGINE=MyISAM. Convert non-compliant tables with ALTER TABLE tbl ENGINE=MyISAM.
Second, make structures identical. Copy the CREATE TABLE statement from a valid member, apply it to the outlier with CREATE TABLE ... LIKE or ALTER TABLE commands, and re-add it to the MERGE set.
Finally, run CHECK TABLE and ANALYZE TABLE to verify integrity before production use.
After an accidental conversion to InnoDB, simply switch back to MyISAM and the MERGE definition becomes valid again.
During partition rotation, new monthly tables may miss a recently added column. Alter the new table to include the column, then refresh the MERGE table.
Automate table creation with a single template script or CREATE TABLE ... LIKE to ensure uniformity.
Place ALTER TABLE changes inside a loop that updates every child table before altering the MERGE parent.
Use INFORMATION_SCHEMA.TABLES to monitor engine types and alert when any child drifts from MyISAM.
Error 1030 Got error 1 from storage engine appears when underlying MyISAM files are missing or corrupted.
Error 1168 Unable to open underlying table indicates permissions or file-system issues rather than structural mismatches.
A child table was converted to InnoDB or Aria, violating MERGE requirements.
Column order, data type, default, or NULL/NOT NULL attribute differs between tables.
Primary keys or secondary indexes are missing or defined differently across member tables.
The referenced table no longer exists or is temporarily renamed, so MySQL cannot validate its structure.
Indicates file-system or permission issues with MyISAM files, not structure mismatch.
Occurs when MySQL cannot access a child table due to corruption or missing files.
Raised when attempting to create a MERGE table with mismatched child definitions.
No. MERGE (MRG_MyISAM) only supports MyISAM tables. Converting any member to InnoDB triggers error 1472.
Yes. Columns must appear in the same order with identical data types, sizes, and defaults across all member tables.
Execute ALTER TABLE on every child table first, then alter the MERGE table. Automate the process to avoid drift.
MySQL 8.0 still supports MERGE tables for backward compatibility, but they are deprecated for new development. Plan migrations to partitioned InnoDB tables long term.