1437
MySQLERRORNotableTriggersHIGH confidence
Triggers cannot be created on system tables
Production Risk
Low — DDL error; the trigger will not be created.
What this means
ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA (1437, SQLSTATE HY000) is raised when you attempt to create a trigger on a table in the mysql, information_schema, or performance_schema system schemas.
Why it happens
- 1Attempting to CREATE TRIGGER on a table in the mysql schema
- 2Attempting to CREATE TRIGGER on information_schema or performance_schema tables
How to reproduce
trigger — this will error
trigger — this will error
CREATE TRIGGER audit_users AFTER INSERT ON mysql.user FOR EACH ROW SET @x = 1;
expected output
ERROR 1437 (HY000): Triggers can not be created on system tables
Fix
Use application-level auditing or general query log
Use application-level auditing or general query log
-- Enable general query log for auditing: SET GLOBAL general_log = 'ON'; SET GLOBAL general_log_file = '/var/log/mysql/general.log';
Why this works
System tables cannot have triggers; use MySQL audit plugin or query logs for monitoring system table changes.
What not to do
✕
Sources
Official documentation ↗
MySQL 8.0 — 1437 ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev