MySQL ERROR 1292 (22007): Incorrect datetime value: 'x' for column 'y'
A string couldn’t be converted to DATE/DATETIME — wrong format, empty string, or a zero date in strict mode.
Incorrect datetime valueIncorrect date valueTruncated incorrect DOUBLE value Meaning
MySQL expects 'YYYY-MM-DD HH:MM:SS'. ISO strings with T/Z, '' and '0000-00-00' fail in strict mode. Also “Truncated incorrect DOUBLE value” is 1292 for numeric conversions.
Common causes
- ISO 8601 with T and Z (2024-01-01T10:00:00Z)
- Empty string instead of NULL
- Locale formats (31/12/2024)
- Zero dates
⚡ Quick fix
- Format as Y-m-d H:i:s
- Send NULL instead of ''
- Convert ISO strings in the application or with STR_TO_DATE
Detailed fix by platform
MySQL
STR_TO_DATE('31/12/2024', '%d/%m/%Y')
How to diagnose
- Value — Exact string?
- Mode — Strict 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 12 Oct 2026