Error
Error Code:
1785
MariaDB Error 1785: GTID Incompatible Table Updates
Description
This error occurs when MariaDB's Global Transaction ID (GTID) consistency is enforced, and an operation attempts to update both transactional and non-transactional tables within the same statement or within a multi-statement transaction. It highlights a conflict between GTID requirements for replication safety and the behavior of non-transactional storage engines.
Error Message
When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.
Known Causes
3 known causesMixed Table Type Updates
An SQL statement attempts to modify data in both transactional tables (e.g., InnoDB) and non-transactional tables (e.g., MyISAM) simultaneously.
Non-Transactional Tables in Multi-Statement Transactions
A non-transactional table is updated as part of a larger transaction that involves multiple SQL statements, violating GTID consistency rules.
Strict GTID Enforcement Enabled
The `@@GLOBAL.ENFORCE_GTID_CONSISTENCY` system variable is set to `1`, which mandates strict rules for transactional integrity to ensure safe GTID-based replication.
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