1231: Variable can't be set to the value of ... (no se puede asignar ese valor a la variable)
MySQL¿Qué significa?
El valor que se asigna a una variable de sistema/sesión (con SET) no es válido. El valor se rechazó porque está fuera del conjunto permitido, es del tipo equivocado o tiene un formato inadecuado.
¿Por qué ocurre?
Ejemplos comunes: asignar a sql_mode un nombre de modo no válido/mal escrito, indicar una opción no definida a una variable de tipo enum o asignar NULL a una variable que no acepta NULL. Los valores numéricos en una unidad/rango incorrectos también pueden provocarlo.
Cómo solucionarlo
Verifique los valores y el tipo válidos que acepta la variable; en variables de tipo ENUM/SET (p. ej., sql_mode, que es de tipo SET), escriba exactamente los nombres de valores/modos y separe varios valores con comas. Revise el rango de valores válidos en la documentación. Para listas como sql_mode, lea el valor actual (SELECT @@sql_mode) y añada/quite elementos de forma segura sobre él.
Más entradas de este motor
- 3024Query execution was interrupted, maximum statement execution time exceeded (ejecución de la consulta interrumpida; se superó el tiempo máximo de ejecución)
- 1298Unknown or incorrect time zone
- 1418Function has none of DETERMINISTIC, NO SQL, or READS SQL DATA (binary logging enabled) (la función no tiene DETERMINISTIC, NO SQL ni READS SQL DATA)