1292 🐬 MySQL

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.

Seen on: MySQL

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

  1. Format as Y-m-d H:i:s
  2. Send NULL instead of ''
  3. Convert ISO strings in the application or with STR_TO_DATE

Detailed fix by platform

MySQL

  1. STR_TO_DATE('31/12/2024', '%d/%m/%Y')

How to diagnose

  1. Value — Exact string?
  2. Mode — Strict sql_mode?

🧠 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.