In breve: MySQL error 1067 Invalid default value — indica che la definizione di una colonna usa un valore predefinito incompatibile con tipo, modalità SQL o versione del server.
Indice dei contenuti
MySQL error 1067 Invalid default value: significato
Le prime ipotesi da verificare per “MySQL error 1067 Invalid default value” sono data predefinita 0000-00-00 non consentita; default non compatibile con il tipo.

Sintomi e cause probabili
Sintomi da verificare
- Il messaggio “MySQL error 1067 Invalid default value” compare durante un’operazione ripetibile.
- La funzione coinvolta in MySQL e MariaDB non raggiunge il risultato previsto.
- Il log dell’area MySQL e MariaDB registra un evento nello stesso minuto della prova.
- Il comportamento osservato in MySQL e MariaDB cambia in base a utente, rete, file o configurazione.
Cause probabili
- Data predefinita 0000-00-00 non consentita
- Default non compatibile con il tipo
- Schema creato per una versione differente
- SQL mode più restrittivo
Diagnosi passo per passo
- Leggere definizione completa della colonna
- Controllare versione e SQL mode
- Confrontare schema origine e destinazione
- Individuare tutti i default analoghi nel dump
- Testare la modifica su una copia
Log e dati da controllare
- log MySQL o MariaDB
- phpMyAdmin o client SQL
- error_log dell’applicazione chiamante
Correzioni sicure
- Usare un default valido o NULL quando previsto
- Aggiornare lo schema alla sintassi supportata
- Migrare i dati zero prima del vincolo
- Allineare consapevolmente le modalità SQL
- Non indebolire globalmente il server per un solo dump

Verifica finale
- La query termina con il risultato previsto
- Schema e vincoli restano coerenti
- Non compaiono nuovi warning o lock
- L’applicazione legge e scrive i dati correttamente
Errori da evitare
- Non disattivare globalmente WAF, ModSecurity, antispam o verifica TLS per aggirare il sintomo
- Non impostare permessi 777 e non cambiare proprietari in modo ricorsivo senza conoscere la struttura dell’account
- Non cancellare database, chiavi Redis, cache o file di sistema senza backup e senza aver identificato l’oggetto coinvolto
- Non ripetere pagamenti, import o webhook reali finché non hai verificato l’idempotenza
Guide Xlogic correlate
- MySQL Error 1364: Field doesn’t have a default value
- MySQL Error 1292 Incorrect datetime value
- MySQL Error 1064: syntax error
Fonti tecniche
Domande frequenti
Che cosa significa “MySQL error 1067 Invalid default value”?
MySQL error 1067 Invalid default value — indica che la definizione di una colonna usa un valore predefinito incompatibile con tipo, modalità SQL o versione del server.
Da cosa può dipendere “MySQL error 1067 Invalid default value”?
Le cause da verificare per “MySQL error 1067 Invalid default value” sono: data predefinita 0000-00-00 non consentita; default non compatibile con il tipo; schema creato per una versione differente.
Quali controlli eseguire per “MySQL error 1067 Invalid default value”?
Per diagnosticare “MySQL error 1067 Invalid default value”, controlla nell’ordine: leggere definizione completa della colonna; controllare versione e SQL mode; confrontare schema origine e destinazione. La soluzione è confermata quando la query termina con il risultato previsto; schema e vincoli restano coerenti.