1613
MySQLERRORNotableReplicationHIGH confidence

Row injection impossible: engine requires statement logging

Production Risk

Medium — the row injection fails; replication may stall.

What this means

A row injection (from a BINLOG statement) cannot be applied to a table whose storage engine does not support row-based binary log format.

Why it happens
  1. 1Replaying a row-based BINLOG event against a table stored in a non-row-capable engine.
How to reproduce
trigger — this will error
trigger — this will error
BINLOG '...'; -- applying row event to a MyISAM table

expected output

ERROR 1613 (HY000): Cannot execute row injection: impossible to write to the binary log since at least one table uses a storage engine limited to statement-based logging.

Fix

Convert the target table to a ROW-capable engine

Convert the target table to a ROW-capable engine
ALTER TABLE affected_table ENGINE = InnoDB;

Why this works

InnoDB supports row-based binary logging, allowing row injection events to be applied.

Sources
Official documentation ↗

MySQL 8.0 — 1613 ER_BINLOG_ROW_INJECTION_AND_STMT_ENGINE

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

← All MySQL errors