Bien, tal y como lo sospeché, di no hubieses posteado todo, no lo hubiese encontrado: Era un problema de
palabras reservadas, casi indetectable: El problema está en el uso de Area().
Area, con un paréntesis a continuación, es una función geométrica usada en la extensión espacial de MySQL, y representa el áre de un
Polygon o un
MultiPolygon, por lo cual MySQL interpreta que hay un error de sintaxis (Ver, por ejemplo
18.5.2.6. Funciones MultiPolygon).
La solución es encerrar esos nombres (a menos que los puedas cambiar), entre acentos graves (`). De esa forma puedes usarlo y el sistema lo reconocerá como nombre y no como palabra reservada.
Esto deberás tenerlo en cuenta incluso en las consultas.
Un tip adicional, es que es conveniente que siempre un CREATE venga precedido en el script de un
, para poder probar su ejecución en esta etapa.
El script en esta forma debería funcionar (al menos a mí me funciona):