1210
MariaDBERRORNotableTable / StorageHIGH confidence

Incorrect definition: storage engine differs from parent table

Production Risk

Low — DDL fails; no data is affected.

What this means

ER_WRONG_MRG_TABLE (1210, SQLSTATE HY000) is raised when a MERGE table references child tables that do not use the same storage engine or do not have the same column definition as the parent table.

Why it happens
  1. 1Child table uses a different storage engine than the MERGE parent
  2. 2Column definitions in child tables do not exactly match the MERGE table definition
How to reproduce
trigger — this will error
trigger — this will error
CREATE TABLE t1 (id INT) ENGINE=MyISAM;
CREATE TABLE t2 (id INT) ENGINE=InnoDB;  -- different engine
CREATE TABLE merged (id INT) ENGINE=MERGE UNION=(t1, t2);  -- ERROR 1210

expected output

ERROR 1210 (HY000): Incorrect definition to MERGE table: Table is not the same as parent table

Fix

Ensure all child tables use MyISAM

Ensure all child tables use MyISAM
ALTER TABLE t2 ENGINE=MyISAM;
CREATE TABLE merged (id INT) ENGINE=MERGE UNION=(t1, t2);

Why this works

MERGE tables only support MyISAM child tables with identical structure.

Version notes

Sources
Official documentation ↗

MySQL 8.0 — 1210 ER_WRONG_MRG_TABLE

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All MariaDB errors