MySQL ERROR 1067 (42000): Invalid default value for 'created_at'
A column’s DEFAULT isn’t allowed in the current SQL mode — classically '0000-00-00 00:00:00' with NO_ZERO_DATE.
Invalid default value for Meaning
MySQL 5.7+ strict modes reject zero dates. Old dumps from MySQL 5.5/5.6 contain them.
Common causes
- DEFAULT '0000-00-00 00:00:00' under NO_ZERO_DATE
- Old schema dumps
- TIMESTAMP defaults on MySQL 5.5 syntax
⚡ Quick fix
- Use DEFAULT CURRENT_TIMESTAMP or NULL
- Fix the dump before importing
- Temporarily adjust sql_mode for the import only
Detailed fix by platform
MySQL
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
How to diagnose
- Column — Which default?
- Mode — SELECT @@sql_mode
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in MySQL
Other ways to find it
Where this error sits
Origin: Data. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 13 Oct 2026