1712
MariaDBERRORCriticalQueryHIGH confidence
EXPLAIN is not supported for this statement
Production Risk
Low — command fails; no data affected.
What this means
An EXPLAIN prefix was used with a statement type that does not support it, such as EXPLAIN INSERT or EXPLAIN CALL.
Why it happens
- 1Prefixing a non-SELECT/DML statement with EXPLAIN.
How to reproduce
trigger — this will error
trigger — this will error
EXPLAIN CALL my_procedure();
expected output
ERROR 1712 (HY000): EXPLAIN is not supported for this statement.
Fix
Use EXPLAIN only with supported statement types
Use EXPLAIN only with supported statement types
EXPLAIN SELECT * FROM t WHERE id = 1; EXPLAIN UPDATE t SET col = 1 WHERE id = 1; -- supported in MySQL 5.6+
Why this works
EXPLAIN supports SELECT and, since 5.6, DML (INSERT/UPDATE/DELETE/REPLACE) but not CALL or DDL.
What not to do
✕
Sources
Official documentation ↗
MySQL 8.0 — 1712 ER_EXPLAIN_NOT_SUPPORTED
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev