1067 🐬 MySQL

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.

Seen on: MySQL

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

  1. Use DEFAULT CURRENT_TIMESTAMP or NULL
  2. Fix the dump before importing
  3. Temporarily adjust sql_mode for the import only

Detailed fix by platform

MySQL

  1. created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

How to diagnose

  1. Column — Which default?
  2. Mode — SELECT @@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.