Valores predeterminados de MySQL 5.5 y 5.6
Quisiera alguna aclaración sobre el comportamiento de los valores predeterminados en MySQL 5.5 y 5.6. Digamos que tenemos la siguiente tabla en un servidor MySQL 5.5:
CREATE TABLE `test` (
`TestColumn` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=INNODB DEFAULT CHARSET=utf8;
Puedo ejecutar la siguiente consulta sin problemas:
INSERT INTO `test` VALUES (NULL);
Lo que crea la siguiente fila:
TestColumn
2014-02-20 14:55:05
Ahora, si repito la misma prueba en un servidor MySQL 5.6, la inserción falla:
Error Code: 1048
Column 'TestColumn' cannot be null
Entiendo que la inicialización automática de marca de tiempo ha cambiado en 5.6 (http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html), pero lo que no puedo resolver es cómo replicar el comportamiento visto en 5.5 en 5.6.
No estoy seguro de si es importante, pero nuestro servidor 5.6 tiene valores_de_defectos_explicados_para_huellas establecidos en ON.
Idealmente, lo que busco es una solución a esto, pero si alguien tiene una mejor comprensión y puede explicarlo, eso también sería útil.
Gracias.
EDITAR: Estamos usando MySQL 5.6.13