Bonita idea, pero tiene el problema de que con eso lo que haces es "puentear" las restricciones de NOT NULL, que pueden ser requerimientos de diseño.
Como práctica me parece algo chapucera. Yo prefiero la opción de declarar NULL aquellos campos que son opcionales para un insert.
Si te fijas con cuidado en el caso del
Bug Track de MySQL que menciona el blog, el insert que el tipo intenta es:
Pero la tabla tiene esta definición:
Lo que significa que esa tabla
expresamente indica que no se puede dejar como NULL, y además en caso de hacerlo, no tiene definido el valor por default.
Para evitar el problema, simplemente debería haber hecho esto:
O directamente dejar que
puedan ser NULL:
Puntualmente en tu caso mi consejo sería que definas ese campo como NULL, y no NOT NULL, como ya te dije.
Piensa que la restricción de NOT NULL
es una restricción que se usa en el diseño de bases de datos para evitar la inconsistencia de datos en determinados sistemas. Modificar la forma de respuesta del servidor de la base para evitarla te puede traer en el futuro serios problemas que aún no conoces.
Además, el hecho de que tu modifiques
tu servidor, no implica que puedas hacer lo mismo con los servidores de hosting que puedas usar después. Esos seguirán teniendo esas restricciones precisamente porque
son necesarias.
Toma nota de un detalle importante, el que le responde a la usuaria, un tal Miguel Solorzano, en ningún momento le dice que cambie el my.ini, sino que lo setee temporalmente dentro del funcionamiento. Una alteración en el my.ini es crítica, pero eso a ella parece no importarle.
Detalle a tener en cuenta: Ese "error" que está documentado en el BugTrack, es de un post de 2005. Seis años atrás...
Nota final: Que alguien publique algo en un blog, no significa que no sea un chapucero...