Utilizamos cookies propias y de terceros para analizar el tráfico, ofrecer funciones de redes sociales y para personalizar la publicidad a partir de tus hábitos de navegación. Para conocer nuestras políticas, visite nuestra Política de cookies y Aviso legal
Los campos BLOB de MySQL son ideales para almacenar objetos serializados, el problema es que en su construcción no puedes aplicarles un valor por defecto (ni siquiera null) y al realizar un INSERT de la fila sin rellenar el campo, el sistema te devuelve un error de que el campo no tiene un "default value":
1 | SQL Error (1364): Field 'CAMPO_BLOB' doesn't have a default value |
Este problema es debido a que la configuración de SQL de MySQL está en modo estricto (strict mode) y he podido notar que esto ocurre en las instalaciones bajo Windows.
Podemos desactivar esta propiedad y el error se convertirá en un warning de la siguiente manera:
En el fichero my.cnf cambiar la variable:
1 | sql_mode= "STRICT_TRANS_TABLES,otras,listas,de,opciones" |
Eliminando el valor "STRICT_TRANS_TABLES".
Tambien lo podemos hacer a traves de una sentencia SQL:
1 | SET @@ global .sql_mode = "" ; |