A mi entender estás complicando innecesariamente el código, recargándolo de operaciones que se pueden obviar con funciones. Especialmente si la hora en el parámetro "tempo" es un TIME con formato "HH:MM:SS", tal como se infiere de lo que haces en el script.
Incluso, si lees el manual, verás que hay funciones específicas para extraer Año, Mes, Día, Horas, Minutos o segundos de una fecha, fecha y hora o de una hora expresada como tiempo. No necesitas hacer cosas complicadas.
Las funciones de MySQL para fechas y horas son muchas y si las aprovechas tendrás mejores resultados.
Creo que para simplificar la cosa andaría por acá:
Código MySQL:
Ver originalDELIMITER $$
SELECT (coeficiente
* 85 * 2.2 * tiempo_en_minutos
) -- La multiplicacion es una operacion distributiva, en este caso los parentesis son superfluos
INSERT INTO datos
(recorrido
, tiempo
, distancia
, calorias
, kmh
) VALUES(recorrido
, tempo
, espacio
, calorias
, resultado
);
Un tip, respecto a DELIMITER: No es buena práctica usar para el cambio de delimitador caracteres que estén relacionados con operaciones de algún tipo. COmo por ejemplo las barras, porque pueden generar conflictos en algún momento.
Si te fijas con cuidado, todos los editores ( y los ejemplos del manual) usan el "$$". Por algo es.
Usa ese, no las dobles barras.