1616
MariaDBERRORNotableReplicationHIGH confidence

Multiple engines with self-logging engine prevents safe binary logging

Production Risk

Medium — the statement fails; no data is written.

What this means

A statement mixes a self-logging storage engine (such as NDB) with other engines, making it impossible to guarantee consistent binary logging.

Why it happens
  1. 1A single DML statement involves both a self-logging engine (NDB) and one or more standard engines simultaneously.
How to reproduce
trigger — this will error
trigger — this will error
INSERT INTO ndb_table SELECT * FROM innodb_table;

expected output

ERROR 1616 (HY000): Cannot execute statement: impossible to write to the binary log since more than one engine is involved and at least one engine is self-logging.

Fix

Avoid mixing self-logging engines with other engines in a single statement

Avoid mixing self-logging engines with other engines in a single statement
-- Break the operation into separate statements, one per engine.

Why this works

Self-logging engines manage their own binary logging; mixing them with externally logged engines creates conflicts.

What not to do

Version notes

Sources
Official documentation ↗

MySQL 8.0 — 1616 ER_BINLOG_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE

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

← All MariaDB errors