Error
Error Code:
1692
MySQL Error 1692: Unsafe Mixed Engine Logging
Description
This error occurs when a single SQL statement attempts to operate on tables that use different storage engine types, specifically mixing self-logging engines (like NDB Cluster) with non-self-logging engines (like InnoDB or MyISAM). MySQL flags this as an unsafe operation due to potential data inconsistency issues, especially in replication environments, as their logging mechanisms differ significantly.
Error Message
Mixing self-logging and non-self-logging engines in a statement is unsafe.
Known Causes
3 known causesSQL Statement Spanning Engines
A single SQL query or transaction attempts to modify or access data across tables that are managed by both a self-logging engine (e.g., NDB Cluster) and a non-self-logging engine (e.g., InnoDB, MyISAM).
Replication Safety Concerns
MySQL detects that executing such a mixed-engine statement could lead to inconsistent binary log entries, making it unsafe for replication to secondary servers and potentially causing data divergence.
Transactional Atomicity Risk
Operations involving tables from engines with fundamentally different logging and transactional models within a single statement can compromise the atomicity and durability of the transaction.
Solutions
Coming SoonGeneral Troubleshooting Tips
- Check the error message carefully for specific details
- Review recent changes that might have caused the error
- Search for the exact error code in the official documentation
- Check log files for additional context
- Try restarting the application or service