Al definir un campo DATETIME o TIMESTAMP, no es necesario especificar la longitud.
A esto se refiere el mensaje de error:
Un valor DATETIME o TIMESTAMP puede incluir una parte final de segundos fraccionarios con una precisión de hasta microsegundos (6 dígitos)
MySQL permite fracciones de segundo para los valores TIME, DATETIME y TIMESTAMP, con una precisión de hasta microsegundos (6 dígitos). Para definir una columna que incluya una parte de segundos fraccionarios, use la sintaxis type_name(fsp), donde type_name es TIME, DATETIME o TIMESTAMP, y fsp es la precisión de los segundos fraccionarios. Por ejemplo:
CREATE TABLE t1 (t TIME(3), dt DATETIME(6));
Resumen de Sintaxis CREATE TABLE :
| TIME[(fsp)]
| TIMESTAMP[(fsp)]
| DATETIME[(fsp)]
Documentación: