1292: Incorrect datetime value / truncated incorrect value (valor de fecha/hora incorrecto / valor truncado)
MySQL¿Qué significa?
Un valor era no válido o estaba mal formado al convertirse al tipo de la columna de destino (sobre todo fecha/hora o numérico). En modo estricto, MySQL lo rechaza como error.
¿Por qué ocurre?
Fechas o valores no válidos como '0000-00-00'; un formato de fecha incorrecto; texto no numérico en una columna numérica; modo SQL estricto (STRICT_TRANS_TABLES) activo; problemas de conversión causados por un conjunto de caracteres/collation distinto.
Cómo solucionarlo
Lleve el valor a un formato válido para el tipo de la columna ('YYYY-MM-DD' para fechas). Use NULL en lugar de fechas vacías/no válidas. Si es necesario, indique un formato explícito con STR_TO_DATE: STR_TO_DATE(str, '%Y-%m-%d'). Si se requiere tolerancia temporal, revise sql_mode, pero preferiblemente corrija los datos. Acote la búsqueda para encontrar la fila problemática.
Más entradas de este motor
- 1052Column 'x' in field list is ambiguous (columna ambigua en la lista de campos)
- 1136Column count doesn't match value count (el número de columnas no coincide con el de valores)
- 1048Column 'x' cannot be null (la columna no puede ser nula)
- 1406Data too long for column (datos demasiado largos para la columna)
- 1071Specified key was too long; max key length is 767 bytes (clave demasiado larga; máximo 767 bytes)
- 1050Table already exists (la tabla ya existe)
- 1051Unknown table 'x' (tabla desconocida)