Columnas de MySQL con nulo por defecto: opción estilística, ¿o no?

En muchos tipos de SQL, hay tres formas en que puede establecer una columna implícitamente en NULL en cada inserción de fila. Estos son

columnname type NULL
columnname type DEFAULT NULL
columnname type NULL DEFAULT NULL

es decir, el primero establece el indicador NULL (en lugar de NO NULL), el segundo deja el indicador NULL en el valor predeterminado, y el tercero establece el indicador NULL y establece el valor implícito como NULL.

He escuchado acerca de cómo en Microsoft SQL, la segunda variación no es exactamente la misma, ya que también puede personalizar el valor predeterminado del indicador NULL para tablas o esquemas.

Pero para MySQL, no creo que haya tal característica. Además, en MySQL, las columnas con el indicador NULL, a diferencia de las columnas NOT NULL, siempre se establecen implícitamente en NULL en la inserción si no hay un valor explícito, incluso si el modo estricto está activado. Así que eso deja idénticas todas estas declaraciones de columna.

En mi script MySQL, para cada columna NOT NULL, especifico un valor DEFAULT para las columnas que no espero establecer en algunas inserciones en mi aplicación, para evitar problemas si tuviera que habilitar el modo estricto. Por lo tanto, creo que sería más simétrico si eligiera la tercera variación, aunque sea la más detallada y explícita. ¿Son comunes las declaraciones como la tercera variación, o la primera o la segunda variación se producen con más frecuencia en los guiones de otros?

Estaba considerando inclinarme hacia el segundo enfoque porque ese es el alias que usa el volcado de MySQL, pero no estoy seguro de que sea una buena idea ya que también vuelca los literales enteros como cadenas (comillas simples) en las cláusulas predeterminadas de las declaraciones de columna.

Esta pregunta puede parecer más una opinión que una que tiene una solución, pero también quiero estar al tanto de cualquier problema potencial que no conozca. Puedo elegir migrar de MySQL a PostgreSQL en el futuro, y también podría usar algunos consejos de esos expertos, por ejemplo. Si PostgreSQL distingue estos casos como lo hace MS-SQL. Corríjame si estoy equivocado si hice alguna suposición incorrecta.

Respuestas a la pregunta(2)

Su respuesta a la pregunta