sql >> Base de Datos >  >> RDS >> Mysql

Valor de fecha y hora incorrecto '0000-00-00 00:00:00' - Date_Sub() al tener

Primera opción:

Esta advertencia probablemente podría deberse al SQL_MODE .

De acuerdo con la documentación de mysql "Si el modo SQL NO_ZERO_DATE o NO_ZERO_IN_DATE está habilitado, las fechas cero o parte de las fechas no están permitidas". Así que esta puede ser la causa de su INSERT con '0000-00-00 00:00:00' falla.

Puede verificar su modo sql ejecutando esto:

SELECT @@sql_mode;

y si alguno de los NO_ZERO_DATE o NO_ZERO_IN_DATE están configurados, entonces puedes simplemente:

SET sql_mode = '';

Segunda opción

La otra opción es que está fallando debido a STRICT_TRANS_TABLES mode.Como la documentación de mysql dice:

Lo mismo es válido para fecha y hora.

Por lo tanto, debe deshabilitar el MODO ESTRICTO O si deshabilitarlo no es una opción, modifique la consulta para que no devuelva un resultado de fecha/fechahora no válido