Mysql
 sql >> Database >  >> RDS >> Mysql

Valore DateTime errato '0000-00-00 00:00:00' - Date_Sub() in Have

Prima opzione:

Questo avviso probabilmente potrebbe essere dovuto a SQL_MODE .

Secondo la documentazione di mysql "Se la modalità SQL NO_ZERO_DATE o NO_ZERO_IN_DATE è abilitata, le date zero o parte delle date non sono consentite.". Quindi questa potrebbe essere la causa del tuo INSERT con '0000-00-00 00:00:00' non riesce.

Puoi controllare la tua modalità sql eseguendo questo:

SELECT @@sql_mode;

e se uno qualsiasi dei NO_ZERO_DATE o NO_ZERO_IN_DATE sono impostati, quindi puoi semplicemente:

SET sql_mode = '';

Seconda opzione

L'altra opzione è che non riesce a causa di STRICT_TRANS_TABLES mode.Come dice la documentazione di MySQL:

Lo stesso vale per datetime.

Quindi devi disabilitare la MODALITÀ STRETTA O se la disabilitazione non è un'opzione, modifica la query in modo che non restituisca risultati di data/ora non validi